Let’s say you have a clone of a repo which has a main branch (named “main”) and your own branch (named “dev”) where you’ve created some changes. You want the owner of the original repository to take your changes in dev and apply it to their copy of main.
To do this, you run git request-pull
on your branch. This generates a report to send to the maintainer of the repository that will allow them to incorporate your changes if they wish.
PS D:\Dev\packer2\pypacker> git request-pull main https://github.com/syegulalp/pypacker dev The following changes since commit 679c8c16e6dd0a5e8d6029baf04cc5ea713e48bc: additional usage notes (2021-11-04 11:54:02 -0400) are available in the Git repository at: https://github.com/syegulalp/pypacker dev for you to fetch changes up to 9a6f161f8dfed40b3d9106973eb10ff2f868f6f0: cleanup (2021-11-30 11:23:13 -0500) ---------------------------------------------------------------- Serdar Yegulalp (1): cleanup pypacker/__main__.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-)
In this example, we have a local clone of the replicant repository. We generate a pull request for everything from the head of the main branch to the head of our local development branch, dev.
Most code hosting sites, like GitHub, have utilities for automatically generating pull requests to simplify this process.