如果我在本地仓库中有许多未推送的提交分布在许多分支中,如果我键入 git push
,会发生什么?所有这些提交都会被推送吗,还是只有属于当前分支的提交被推送?
还取决于您的推送策略(git config push.default
)。
正如我在" git - push current vs. push upstream (tracking) "中解释的那样,只有“匹配”策略才会推送除当前分支以外的更多内容。
推送两端具有相同名称的所有分支。
这使得您要推送到的存储库记住将被推出的分支集合(例如,如果您总是在那里推送maint
和master
而没有其他分支,则您要推送到的存储库将具有这两个分支,并且您的本地maint
和master
将被推送到那里)。
采用此策略,只需简单的git push
即可推送所有(匹配的)分支。
如果没有该策略,则需要使用git push --all
来 强制 推送所有分支。
git push --all
命令,通过推送所有分支,也会推送所有提交。 - VonC