私は最近私がリビジョン管理下に置いた私のファイルの修正を受けましたが、この修正されたファイルがどのコミットに基づいているのかはわかりません。変更されたファイルに最も類似したコミットを見つけるには?
したがって、特定のファイルを変更するコミットが編集されたバージョンとの違いが最も少ないかどうかを判断する方法はありますか?
私は最近私がリビジョン管理下に置いた私のファイルの修正を受けましたが、この修正されたファイルがどのコミットに基づいているのかはわかりません。変更されたファイルに最も類似したコミットを見つけるには?
したがって、特定のファイルを変更するコミットが編集されたバージョンとの違いが最も少ないかどうかを判断する方法はありますか?
私はこれを確認するのいずれかの魔法の方法を知っていませんが、あなたはこれをしようとする場合があります:
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
ありがとう、私は 'git-diff --stat'の出力をgrep myfile.cppにパイプすることができます。 gawk '{print $ 3}' 'を使って変更量を減らしてください。私はループと一緒に推測すると、 'sort'を使って最適な候補を取得し、その差分を手作業で調べることができます。 –
forループの代わりに、' git log --stat myfile.cpp'を使うことができます。 'gawk'出力は" commitid howManyChanges "のようにフォーマットされているかもしれません(私は' awk'について十分に分かりません) –
'git log --numstat --oneline - myfile.cpp'は素敵で簡単な出力(OK、十分なコメントが追加されました...) –
:[Gitリポジトリ:どのように私はそれが最も密接ディレクトリにマッチするコミット見つけることができますか?](http://stackoverflow.com/q/6388283/321973) –