1

我最近看到一些很奇怪的东西。假设我有三个分支。他们都有一个名为 A 的文件。A 然后在三个分支中独立地重命名为 B。然后将三个分支合并为一个。如果现在我使用

git log --follow B

我想我应该看到关于重命名的三个提交

diff --git a/A b/B
similarity index 85%
rename from A
rename to B
index b328642..5cd437a 100644
--- a/A
+++ b/B

但我实际上看到的是关于从 A 重命名为 B 的提交,其他两个正在删除 A

diff --git B B
deleted file mode 100644
index 5db3424..0000000
--- a/B
+++ /dev/null

在我看来, --follow 忽略了分支。它只是线性地跟踪日志,而不是对不同的分支进行不同的处理。

这里会发生什么?有什么办法可以避免这个问题吗?

谢谢

4

1 回答 1

0

默认情况下,日志遵循第一个父级。因此,通过这种方式,合并只是被视为另一个提交。

于 2012-09-04T23:21:53.937 回答