2011-09-19 11 views
53

この質問は、List all commits for a specific fileと密接に関連していますが、それとは異なります。私はすべてのブランチの間でのコミットが特定のファイルを変更したことを知りたいと思います。与えられたファイルのすべてのコミットを一覧表示します。

もっと複雑にするには、指定されたファイルが作業ツリーにある場合とそうでない場合があります。

答えて

37

あなたは

gitk --all <path to file> (you need to install gitk)

例えばをgitk使用することができます

gitk --all -- /home/kit.ho/project/abc.txt

+0

私の答えが下落した理由はわかりませんが、あなたの質問は特にすべての支店のログを求めているとは考えていません。あなたはOPがすでにリンクしているという答えを出すだけです。 – manojlds

+1

私はdownvoterではありませんでしたが、これには現在のブランチより多くの履歴を調べるために '--all'などのものが必要です。 – wjl

+0

なぜdownvotes?これは完全に正常に動作します。両方の答えが正しいです。 1つはテキストコンソール用、もう1つはgitk GUI用です。両方とも正しいとマークできますか? –

68

これを試してみてください:

git log --all -- path 
+4

Nb。正確に見たいものに応じて、 '--full-history'オプションが必要になるかもしれません。git-logやgitrevisionsのマンページのヒストリの簡略化に関する節を参照してください。 –

+0

ありがとう、これは動作します。 –

+0

私の一日を保存しました... – Elazar

12

コマンドライン

私は非常にgitのログとグラフのオプションを追加することをお勧めします:

git log --graph --all -- <filename> 

git log --graph --all -- <filename>

Gitkはかなり古いツールで、必ずしもインストールされているわけではありません。 SourceTree:

SourceTree

+3

ファイルをログに記録し、ブランチグラフをSourceTreeに表示するにはどうすればよいですか?ファイルを右クリックし、[選択したログ]を選択すると、すべてのブランチで履歴が表示されません。 – aleung

関連する問題