【发布时间】:2013-10-05 23:20:27
【问题描述】:
如果我有许多未推送的提交分布在我的本地 repo 的许多分支中,如果我输入 git push 会发生什么?是推送所有这些提交还是只推送属于当前分支的提交?
【问题讨论】:
如果我有许多未推送的提交分布在我的本地 repo 的许多分支中,如果我输入 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,通过推送所有分支,也会推送所有提交。