Git ,已合并到最新但有差异?
Git , Merge Already Up TO date but with diff?
我在本地有两个分支机构,比如 A 和 B。
我运行以下命令
- git结帐A
- git merge -X theirs B - "comment"
如果我运行再次命令
git 合并 B --> 它抛出消息“已经是最新的”
如果我运行跟随命令
git diff A..B --> 它 return4 个文件的差异
所以我用分支B的内容“粉碎”了分支A的内容
如果我再次 运行 分支 A 上的合并命令它 return 一切都是最新的
但是如果我 运行 两个分支之间的“差异”它 return 四个文件的差异。
发生了什么事?
提前致谢。
最好的问候
要知道的事情:
Git 流量 提交.
每个提交都有至少一个父项,并且通过其父项链“到达”其他提交。
分支是一次提交的名称。
合并创建一个提交并移动当前分支的分支名称。
短语“最新”意味着一个分支没有达到另一个分支没有达到的任何提交。
假设我们从这种情况开始(箭头指向时间倒退,每个提交都指向其父项):
A <-- B <-- C <-- D (branch1)
↖︎
<-- X <-- Y <-- Z (branch2)
现在我结帐 branch1
并说 git merge branch2
。我明白了:
A <-- B <-- C <-- D <-- M (branch1)
↖︎ ↙︎
<-- X <-- Y <-- Z (branch2)
所以现在,一方面,尝试将 branch2
合并到 branch1
again 是没有意义的; branch1
已经达到了 branch2
达到的所有相同提交。因此,“最新”。但是提交 M
和提交 Z
也不相同。
也许你的困惑是因为你认为
git merge -X theirs B
在合并方面做了一些特别的事情。它没有。这仍然是一个非常普通的合并。它唯一特别做的事情是万一发生任何合并冲突; theirs
提供了有关如何在不寻求人工帮助的情况下解决这些冲突的提示。
我在本地有两个分支机构,比如 A 和 B。 我运行以下命令
- git结帐A
- git merge -X theirs B - "comment"
如果我运行再次命令
git 合并 B --> 它抛出消息“已经是最新的”
如果我运行跟随命令 git diff A..B --> 它 return4 个文件的差异
所以我用分支B的内容“粉碎”了分支A的内容 如果我再次 运行 分支 A 上的合并命令它 return 一切都是最新的 但是如果我 运行 两个分支之间的“差异”它 return 四个文件的差异。
发生了什么事?
提前致谢。
最好的问候
要知道的事情:
Git 流量 提交.
每个提交都有至少一个父项,并且通过其父项链“到达”其他提交。
分支是一次提交的名称。
合并创建一个提交并移动当前分支的分支名称。
短语“最新”意味着一个分支没有达到另一个分支没有达到的任何提交。
假设我们从这种情况开始(箭头指向时间倒退,每个提交都指向其父项):
A <-- B <-- C <-- D (branch1)
↖︎
<-- X <-- Y <-- Z (branch2)
现在我结帐 branch1
并说 git merge branch2
。我明白了:
A <-- B <-- C <-- D <-- M (branch1)
↖︎ ↙︎
<-- X <-- Y <-- Z (branch2)
所以现在,一方面,尝试将 branch2
合并到 branch1
again 是没有意义的; branch1
已经达到了 branch2
达到的所有相同提交。因此,“最新”。但是提交 M
和提交 Z
也不相同。
也许你的困惑是因为你认为
git merge -X theirs B
在合并方面做了一些特别的事情。它没有。这仍然是一个非常普通的合并。它唯一特别做的事情是万一发生任何合并冲突; theirs
提供了有关如何在不寻求人工帮助的情况下解决这些冲突的提示。