【问题标题】:Does "git push" push all commits from other branches?“git push”会推送来自其他分支的所有提交吗?
【发布时间】:2013-10-05 23:20:27
【问题描述】:

如果我有许多未推送的提交分布在我的本地 repo 的许多分支中,如果我输入 git push 会发生什么?是推送所有这些提交还是只推送属于当前分支的提交?

【问题讨论】:

标签: git git-push


【解决方案1】:

不,git push 仅将提交从当前本地分支推送到您在命令中指定的远程分支。

可以通过设置--all参数告诉g​​it推送所有分支

command description

【讨论】:

    【解决方案2】:

    这还取决于您的推送策略 (git config push.default)

    正如我在“git - push current vs. push upstream (tracking)”中解释的那样,只有“匹配”策略比当前分支推送更多。

    将所有具有相同名称的分支推入两端
    这使您推送的存储库记住将被推出的分支集(例如,如果您总是在那里推送 maintmaster 而没有其他分支,那么您推送到的存储库将具有这两个分支,并且您的本地maintmaster 将被推送到那里)。

    使用该策略,只需一个简单的git push 就足以推送所有(匹配的)分支。
    如果没有该策略,git push --all 就必须强制推送所有分支。

    【讨论】:

    • @Honey a git push --all,通过推送所有分支,也会推送所有提交。
    • 甚至在分离的头上提交?
    • @Honey No:如图所示 (stackoverflow.com/q/35736116/6309),如果推动,分离的头将不会成为一部分。
    猜你喜欢
    • 2016-10-24
    • 2021-05-31
    • 1970-01-01
    • 2015-02-18
    • 2012-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-08
    相关资源
    最近更新 更多