git使用";合并差异&引用;而不是&引用;

git使用";合并差异&引用;而不是&引用;,git,github,git-diff,Git,Github,Git Diff,我有一个硕士和一个开发分支。当我使用git diff master…dev比较这两个分支时,它们之间没有区别。但是,当我使用git diff master..dev时,dev中存在一些master中不存在的文件 我想将dev合并到master中,这样那些由git diff master..dev显示的文件(即dev中存在但不在master中的文件)就存在于master中 当我尝试创建一个pull请求时,我在github上得到了“无需比较”错误,因为它使用“…”进行比较。如何根据“.”比较合并这两

我有一个硕士和一个开发分支。当我使用git diff master…dev比较这两个分支时,它们之间没有区别。但是,当我使用
git diff master..dev
时,dev中存在一些master中不存在的文件

我想将dev合并到master中,这样那些由
git diff master..dev
显示的文件(即dev中存在但不在master中的文件)就存在于master中

当我尝试创建一个pull请求时,我在github上得到了“无需比较”错误,因为它使用“…”进行比较。如何根据“.”比较合并这两个

附言:我看了一下以了解“.”和“…”之间的区别,但不确定如何与“.”合并

(编辑:@eftshift0说了什么):


这意味着,当您使用
时,您并不是在比较所提供的两个分支之间的差异……而是在显示这些分支的共同祖先与所提供的第二个分支之间的差异。因此,在第二个分支上,您可能已经提交了某些内容,然后它被还原


或者在dev上可能根本没有提交(但在master上还没有提交)。

听起来您在两个分支上有不同的提交,但文件本身是相同的。为什么你不能把dev合并到master中呢?合并不需要有差异。请注意,
git merge
并不意味着“相同”。相反,这意味着,从某个共同的出发点开始,合并更改。如果另一个分支自公共起点以来没有任何更改,那么即使您的分支和另一个分支有所不同,也无需执行任何操作。您有他们没有的更改,但将他们的更改(您已经有)添加到您的更改(您已经有)中会返回您已经有的更改。同时,从另一个角度来看:
git merge
从不使用
。两点对三点的语法充其量只是一种转移视线的说法,它在
git diff
中的意思与在
git log
中的意思不同,它们都没有直接连接到
git merge
。这意味着当您使用
时,您没有比较您提供的两个分支之间的差异。。。。相反,它显示了这些分支的共同祖先与提供的第二个分支之间的差异。因此,在第二个分支上,您可能犯了一些错误,然后它被恢复。