2011-12-14 7 views
2

私は最近私がリビジョン管理下に置いた私のファイルの修正を受けましたが、この修正されたファイルがどのコミットに基づいているのかはわかりません。変更されたファイルに最も類似したコミットを見つけるには?

したがって、特定のファイルを変更するコミットが編集されたバージョンとの違いが最も少ないかどうかを判断する方法はありますか?

+0

:[Gitリポジトリ:どのように私はそれが最も密接ディレクトリにマッチするコミット見つけることができますか?](http://stackoverflow.com/q/6388283/321973) –

答えて

1

私はこれを確認するのいずれかの魔法の方法を知っていませんが、あなたはこれをしようとする場合があります:

git diff --stat HEAD..HEAD~10 -- myfile.cpp 

、手動では〜10

HEADを変更することがどのように多くの違いがあることを教えてくれますリビジョンの間にある。

あなたは使用して、これを自動化することができます。

関連
for i in {1..5}; do echo "HEAD~$i"; git diff --stat HEAD~$i..HEAD CMakeLists.txt ; done 
+0

ありがとう、私は 'git-diff --stat'の出力をgrep myfile.cppにパイプすることができます。 gawk '{print $ 3}' 'を使って変更量を減らしてください。私はループと一緒に推測すると、 'sort'を使って最適な候補を取得し、その差分を手作業で調べることができます。 –

+0

forループの代わりに、' git log --stat myfile.cpp'を使うことができます。 'gawk'出力は" commitid howManyChanges "のようにフォーマットされているかもしれません(私は' awk'について十分に分かりません) –

+0

'git log --numstat --oneline - myfile.cpp'は素敵で簡単な出力(OK、十分なコメントが追加されました...) –

関連する問題