【问题标题】:Is there a difference between git merge origin/repo and git merge origin repo?git merge origin/repo 和 git merge origin repo 有区别吗?
【发布时间】:2018-07-05 13:56:24
【问题描述】:

我使用后者主要是因为它看起来更易读。我不确定该命令是否等效,它似乎是从远程进行合并,但大多数示例都包括斜杠。

我的合并工作流程:

git fetch origin
git pull origin mybranch
git merge origin otherbranch

这对吗?

【问题讨论】:

标签: git git-merge


【解决方案1】:

git help merge 没有提到将遥控器作为参数之一的可能性。它只是说未破折号的参数是提交。所以,origin 理解为origin 上默认分支的顶部,加上本地分支otherbranch(可以将多个提交合并在一起)。

【讨论】:

  • 默认分支是什么?我有一个主冲刺功能分支层次结构。我的示例基于从 sprint 合并到功能分支。省略斜线会产生预期的效果吗?
  • @user1561108 我们不能告诉你。可能是大师,这通常是默认设置,但您必须检查 repo 设置。
【解决方案2】:

我使用后者主要是因为它看起来更易读

我对这个问题感到惊讶,仅仅是因为如果您一直这样做,您现在应该已经能够看到它没有按照您的预期进行。

您的命令未解释为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 合并到当前分支的情况很窄,而且大多是微不足道的。它会产生错误和合并失败的情况很多。

我没有任何冒犯的意思,但我真诚地相信,如果您非常重视调整语法以使您看起来“更具可读性”,那么命令行可能不适合您。

【讨论】:

  • 不需要哗众取宠。
  • 说真的。合并看起来主要符合我的预期,这就是我如此困惑的原因
猜你喜欢
  • 2017-10-20
  • 2021-03-19
  • 2014-03-12
  • 2016-11-10
  • 2020-07-27
  • 2022-12-16
  • 2012-02-22
  • 1970-01-01
相关资源
最近更新 更多