2016-11-14 5 views

答えて

1
git log --first-parent --merges -1 -- path/to/it 

。同じマージ内のそのマージおよびおそらく他のファイルをしたgit logで唯一のコミット時間を、見ることができ、他のファイルを取得する

--first-親 `gitのログ--merges -1 -m --name-だけしようとしました
git rev-list --first-parent --merges -1 @ -- path/to/it \ 
| git show -m --name-only --stdin 

または

git show -m --name-only $(git rev-list --first-parent --merges -1 @ -- path/to/it) 
+0

- パス/に/ it' - それは出力を変更しないようですただし、 – eXavier

+0

パスを削除する必要がありますが、そうすることで、 'git log'が別のコミット(' HEADに近いもの)を選択する可能性があります。代わりに、まず最初のコマンドでハッシュIDを見つけてから 'git log -m --name-only -1 'を実行するか( '-1'を '--no-walk'に置き換えてください。より良いのですが、よりタイピングが必要です)。最初のステップから完全な 'git log'出力をしたくない場合は、' git rev-list'を使います。これは、 'git log'と同じですが、ハッシュIDだけを出力します。 (あるいは '--format =%H'を使うことができます。これは、' git log'にハッシュIDだけを出力するように指示します;もっと効率的なので 'git rev-list'を自分で好むでしょう) – torek

+0

ああ。 1つのファイルのみを表示します。一定。ありがとう@torek。 – jthill