1

私は最近、非常に奇妙なものを見ます。3 つのブランチがあるとします。それらはすべて A という名前のファイルを持っています。その後、A は 3 つのブランチで個別に B に名前が変更されます。次に、3 つのブランチが 1 つにマージされます。今私が使用する場合

git log --follow B

のような名前の変更について 3 つのコミットを見る必要があると思います

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 に名前を変更することに関するコミットです。他の 2 つは A のように削除しています

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

--follow はブランチを無視するように思えます。異なるブランチを異なる方法で処理するのではなく、ログを直線的にたどるだけです。

そこで何が起こるの?この問題を回避する解決策はありますか?

ありがとう

4

1 に答える 1

0

デフォルトでは、log は最初の親の後に続きます。したがって、このように、マージは、フォローするときに別のコミットと見なされます。

于 2012-09-04T23:21:53.937 に答える