Search code examples
gitgit-push

Does "git push" push all commits from other branches?


If I have many unpushed commits spread among many branches in my local repo, what happens if I type git push? Will all of those commits be pushed or only those which belong to the current branch?


Solution

  • It also depends on your push policies (git config push.default).

    As I explain in "git - push current vs. push upstream (tracking)", only the "matching" policy pushes more than the current branch.

    push all branches having the same name on both ends.
    This makes the repository you are pushing to remember the set of branches that will be pushed out (e.g. if you always push maint and master there and no other branches, the repository you push to will have these two branches, and your local maint and master will be pushed there).

    With that policy, only a simple git push is enough to push all (matching) branches.
    Without that policy, a git push --all is necessary to force all branches to be pushed.