【发布时间】:2018-07-05 13:56:24
【问题描述】:
我使用后者主要是因为它看起来更易读。我不确定该命令是否等效,它似乎是从远程进行合并,但大多数示例都包括斜杠。
我的合并工作流程:
git fetch origin
git pull origin mybranch
git merge origin otherbranch
这对吗?
【问题讨论】:
-
是的。虽然那里的答案让我对它们是否相等感到困惑?
我使用后者主要是因为它看起来更易读。我不确定该命令是否等效,它似乎是从远程进行合并,但大多数示例都包括斜杠。
我的合并工作流程:
git fetch origin
git pull origin mybranch
git merge origin otherbranch
这对吗?
【问题讨论】:
git help merge 没有提到将遥控器作为参数之一的可能性。它只是说未破折号的参数是提交。所以,origin 理解为origin 上默认分支的顶部,加上本地分支otherbranch(可以将多个提交合并在一起)。
【讨论】:
我使用后者主要是因为它看起来更易读
我对这个问题感到惊讶,仅仅是因为如果您一直这样做,您现在应该已经能够看到它没有按照您的预期进行。
您的命令未解释为git merge <remote> <branch>;这不是公认的合并语法。 merge 不是与遥控器交互的命令之一。
而是git merge <branch1> <branch2>
这里<branch1> 是origin。假设您没有名为 origin 的引用,但有一个名为 origin 的远程配置,这将被解释为“origin 的默认分支。假设您有一个名为 remotes/origin/HEAD 的引用(您可以查看对于git branch -a |grep HEAD 或类似的东西,这是origin 的默认分支。
所以你正在做的是章鱼合并,合并
origin 的引用,要么更可能是 origin 远程的默认分支 - 可能是 origin/master,并且otherbranch的本地引用
进入当前分支(您之前的@987654336@ 命令已将origin/mybranch 合并到该分支中)。
这看起来像是将远程珊瑚礁origin/otherbranch 合并到当前分支的情况很窄,而且大多是微不足道的。它会产生错误和合并失败的情况很多。
我没有任何冒犯的意思,但我真诚地相信,如果您非常重视调整语法以使您看起来“更具可读性”,那么命令行可能不适合您。
【讨论】: