コミットがマージされたと git が言う問題がありますが、コミットからの変更が作業ツリーにありません。さらに奇妙な
git log --name-status 362dde7
ことに、コミットがファイルを変更したことを教えてくれますが、コミット
git log -- path/to/modified/file.java
は表示されません。例えば:
問題のコミットが dev ブランチと機能ブランチの両方に存在することを確認してください。
$ git branch --contains 362dde74f142831c99820b999558a2e8f49f66e8
* dev
feature
コミットによって変更されたファイルを一覧表示します。
$ git show --name-status 362dde74f142831c99820b999558a2e8f49f66e8
# commit summary... #
M path/to/modified/file.java
逆の手順を実行すると (ファイルを変更したコミットを一覧表示する)、コミットは一覧表示されません。
$ git log path/to/modified/file.java
# Commit 362dde7 isn't listed here
機能ブランチに切り替えて同じ手順に従うと、すべてが期待どおりに機能します。
$ git checkout feature
$ git show --name-status 362dde74f142831c99820b999558a2e8f49f66e8
# commit summary... #
M path/to/modified/file.java
$ git log path/to/modified/file.java
362dde7 Commit summary
基本的に、同じコミットが と の両方dev
に存在しますが、作業ツリーの変更はチェックアウトしfeature
たときにのみ表示されます。feature
なぜこれが起こっているのか、誰かが考えを持っていますか?