gitツールボックスで3つのツールを確認することをお勧めします。最初のものは非難であり、それはcvsの場合とほとんど同じです。ファイルの各行に最後に触れたコミットが表示されます。以前に何があったかを確認したい場合は、行に触れたコミットを取得して、前のコミットを確認できます。
git show <sha1_of_interesting_commit>^ -- file/path
あなたはその前に何が起こったかを見るために非難を繰り返すことができます。
git blame <sha1_of_interesting_commit>^ -- file/path
2番目のツールは、--follow
名前変更を過ぎたファイルを追跡するために使用しています。
git log --follow -- file/path
3番目(そしておそらく最も便利なツール)は、ログに記録するつるはしオプションです。これは、特定のテキストを含む削除、導入、または変更された行の変更を履歴で検索します。これは、関数名などを追跡する場合に特に便利です。特定のコミットのファイルで新しい可能性がありますが、別のソースファイルからのものでしたか?それへの呼び出しは同時に追加されましたか、それとも移動する前に追加されましたか?
git log -S"Interesting_Function"
パッチまたは統計オプション(-p
または)を使用している場合、変更全体が表示される場所--stat
も使用しない限り、出力は、変更が実際に検索文字列に関係しているファイルに制限されます。--pickaxe-all
git grep
文字列の現在の出現箇所をすべて表示するために組み合わせると、つるはしは非常に便利な履歴マイニングツールです。