首页 > 解决方案 > 为什么推送本地分支时必须使用--set-upstream

问题描述

--set-upstream我承认为当前本地分支设置默认远程分支这一事实,我可以更轻松地拉取提交。但是假设我不想跟踪远程分支,因为我只是创建一个快速修复的分支,所以我只需要推送它并要求团队负责人对其进行审查并合并它。我不需要使用 git pull 来获取最新的提交,因为没有其他团队成员会在我的本地分支上工作。在这种情况下,我不需要使用--set-upstream,但我仍然被迫使用它,否则我无法推送我的分支。

标签: git

解决方案


...在这种情况下,我不需要使用--set-upstream

正确的。

但我仍然被迫使用这个......

不,您不会被迫使用它。想用就用,不想用就别用。

如果没有为当前分支设置上游并且您的push.default设置是simple, 1您将必须拼出所有详细信息:

git push origin somebranch

或者,如果您愿意:

git push origin HEAD

因为当您省略refspec参数(上述两个命令的或部分)时,该simple设置要求当前分支具有上游。没有上游,拒绝做- 但提供 refspec overrides 。somebranchHEADsimplegit pushsimple


1此处的详细信息在某种程度上取决于版本,因为Git 2.x 与 Git 1.x 中的默认设置不同。push.default但是,如果您已将您的push.default明确设置为simple,即使是古老的 Git 版本也应该表现得像 Git 2.0 或更高版本。


推荐阅读