两个有明显差异的文件不会合并,只会给出“已经是最新的”消息

问题描述 投票:0回答:1

我有一个我不明白的奇怪问题。我有分支 A 和分支 B,它们都明显不同,但是当我将 B 合并到 A 中时什么也没有发生,或者 git 告诉我我已经是最新的了。不过我可以将 A 合并到 B 中。

我做了一个小测试,我在 B 中做了一个小提交,然后将 B 合并到 A,我所做的小更改被合并到 A 中,但没有其他不同的代码行。这几乎就像 A 认为它等于 B 但实际上并非如此。然而,运行 git diff 会显示它们确实不同,所以 git 并不知道这些差异。

* 54272bb (HEAD) started created the controller for poweroffice go
| *   1d5286f (origin/copyNorwayMatsWorkingBranch, copyNorwayMatsWorkingBranch) Merged PR 3328: test
| |\
| |/
|/|
* | 8896671 (origin/NorwayWorkingBranch, NorwayWorkingBranch) test
| * 200ca79 (NorwayMatsWorkingBranch) commite
| *   6ea8307 (origin/add-new-keyvault-factory, origin/NorwayMatsWorkingBranch, add-new-keyvault-factory) COmmit
| |\
| | *   7f42752 (origin/NSEBranch) Merged PR 2549: keyvault factory PR
| | |\
| | | *   e5c7c13 Fixed COnflicts
| | | |\
| | | |/
| | |/|
| * | | 2d8c844 Pushing merge
git
1个回答
0
投票

“B 是 A 的祖先” 时,这是正常且预期的行为。这可能是因为您已经将

B
合并到
A
中,或者,
A
过去从
B
分支出来。由于
B
上没有尚未存在于
A
历史记录中的提交,因此无需合并。

请注意,作为另一个提交的祖先与这些提交的当前 states 无关,这就是

git diff A B
存在差异的原因。

如果运行命令

git log A
,您会看到
B
的提示出现在日志中的某处。

© www.soinside.com 2019 - 2024. All rights reserved.