変更が発生したコミットを取得するにはどうすればよいですか?
プル リクエストに 67 件のコミットがあります。そこにあるはずのコードとの最終差分に誤りがあり、削除されています。どうすればそのようなことを解決できますか?最終的なマージ差分を変更しているコードがどのコミットにあるかを知るにはどうすればよいですか?
変更が発生したコミットを取得するにはどうすればよいですか?
プル リクエストに 67 件のコミットがあります。そこにあるはずのコードとの最終差分に誤りがあり、削除されています。どうすればそのようなことを解決できますか?最終的なマージ差分を変更しているコードがどのコミットにあるかを知るにはどうすればよいですか?
コードが既にコミットされている場合は、6.5 Git ツール - コード内のバグを追跡し、いつ導入されたのか、その理由を知りたい場合にgit blame
使用できます。
コードが Github にある場合は、関連ファイルを表示するときに Blame ボタンを使用するだけです。私はこの方法を git と msysgit 自体を調べるためによく使用します (自分が誰の足を踏んでいるのかを知るために ;-)。
不足しているコードが何であるかがわかっている場合は、次のことができます。
git log -p
次に、欠落しているコードの一部を検索し、どのコミットがそれを削除するかを調べます。
ファイル パスでフィルタリングすると、多くの場合、すぐに答えが得られます。
git log --pretty=oneline -- src/main/java/com/brunoais/Foo.java
これにより、ファイルに影響を与えるコミットのみが表示さsrc/main/java/com/brunoais/Foo.java
れ、出力の右側の列にコメントが表示されます。
これが内訳です。
この--
部分は、パス仕様のプレフィックスです。git-log だけでなく、他の git コマンドにも適用できます。(これは多くの場合オプションです。git は--
あいまいさがある場合にのみ必要です。たとえば、ファイル パスがたまたまブランチ名と同じである場合などです。)
その--pretty=oneline
部分は出力を簡潔にします。