【发布时间】:2020-11-09 23:53:59
【问题描述】:
我有一个 master 和一个 dev 分支。当我使用git diff master...dev 比较两个分支时,它们之间没有区别。但是,当我使用git diff master..dev 时,dev 中存在一些 master 中不存在的文件。
我想将 dev 合并到 master 中,以便 git diff master..dev 显示的那些文件(即 dev 中存在但 master 中不存在的文件) 存在于 master 中。
当我尝试创建拉取请求时,我在 github 上收到 “There is nothing to compare” 错误,因为它使用“...”进行比较。如何根据“..”比较合并这两者?
PS:我查看了this以了解“..”和“...”之间的区别,但不确定如何与“..”合并
【问题讨论】:
-
听起来你在两个分支上都有不同的提交,但文件本身是相同的。为什么不能直接将 dev 合并到 master 中?您不需要有差异即可合并。
-
请注意,
git mergenot 表示“相同”。相反,它意味着结合从某个共同起点开始的更改。如果另一个分支自共同起点以来没有任何变化,则无事可做,即使您的分支和另一个分支不同。您有他们没有的更改,但是将他们的更改(您已经拥有的)添加到您的更改(您已经拥有的)中可以让您恢复已经拥有的东西。 -
同时,从另一个角度来看:
git merge从不使用..。两点与三点的语法充其量只是一个红鲱鱼——它在git diff中的含义与在git log中的含义不同,并且它们都没有直接连接到git merge。