Pull Requests (PR) are a huge topic on Github and here is a whole “BOOK” about it on github:

https://help.github.com/categories/collaborating-with-issues-and-pull-requests/

Here is a short summary from me.

1. a developer is forced to create a fork (separate copy) of a public repository (called upstream repo) on github because the repo does not belong to the developer or the developer is not part of the organisation/team which owns and manages it.

2. the developer clones the fork (called original repo but not original actually),which is owned by him/her on github, on to his/her local development machine.

3. the developer switches to a (relevant) hotfix branch to work on an issue

4. the developer modifies code as required and commits the changes with reference to an issue

5. the developer pushes the committed changes to the fork.

6. the developer creates a pull request from fork to the upstream

7. an admin reviews the PR
7. a. approves the PR and merges them
7. b. rejects the PR; the developer has to repeat steps 4, 5, 6
7. c. i. the PR is ignored for 2 years!
7. c. ii. another admin reviews the PR after 2 years but there are many conflicts now
7. c. iii. the community is waiting for the developer, who is now a sherpa in The Himalayas, to update the PR!!! Because he/she lost the will for coding!

Examples:

https://github.com/salesagility/SuiteCRM/pulls

https://github.com/symfony/symfony/pulls

https://github.com/nodejs/node/pulls

https://github.com/facebook/react/pulls

https://github.com/django/django/pulls

https://github.com/torvalds/linux/pulls

Such a waste of developer productivity, time ==> money!

Image from https://au.pinterest.com/pin/441282463476843555/