開発部のSSです。
新しいプロジェクトに途中から参加して開発を始める際、まず何から手を付けるでしょうか?
最近の開発の流れを追う
自分は、まず git clone
した後に、以下のコマンドを実行して直近のコミット履歴を確認するようにしています。
$ git log --stat
特に詳しく見たいコミットがある場合は、
$ git show
<commit id>
で詳細を確認します。また、ざっくりとコードレベルで変更内容を把握したいときは -p
オプションを追加します。
$ git log --stat -p
これにより、どのファイルがどのように変更されたのかを効率よく確認できます。
改修箇所の前後のコードを git blame
で調査する
改修箇所の目星をつけた後は、関連するファイルに対して git blame
を実行し、変更履歴を確認します。
git log
ではコミット履歴が時系列順に表示されるため、特定の行の変更履歴を追うのに手間がかかります。しかし、git blame
を使えば、特定の行がどのコミットで変更されたかを直接確認できるため、非常に効率的です。
$ git blame
<target_file>
これを活用することで、
- その行が最後に修正されたタイミング
- どのコミットで変更されたか
- 誰がどの Issue で改修を行ったのか
などを素早く把握できます。
詳細なオプションについては、公式ドキュメントを参照してください。
Pull Request の番号を確認する
git blame
を使うとコミット ID まで確認できますが、Pull Request の番号を知りたい場合もあります。
通常の git blame
では直接確認できませんが、以下のコマンドを組み合わせることで、Pull Request の番号を追跡できます。
# マージコミットの場合に親コミットのみをたどる
$ git blame --first-parent <target_file>
# コミットの 1 行メッセージを表示
$ git show --oneline <commit id>
この結果、Merge pull request #123
のようなメッセージが確認できれば、その PR 番号を取得できます。
さらに、これを一括で実行できるスクリプト git-blame-pr.pl
もあります。
このツールを利用すると、Pull Request 番号を簡単に特定でき、当時の改修経緯を効率よく追跡できます。

CLI が苦手な人は VSCode GitLens を活用
自分は CUI 操作が好きなので、ターミナル上で git
コマンドを実行したり、Emacs 上で vc-annotate
を利用して変更履歴を確認することが多いです。
vc-annotate – GNU Emacs Manual
しかし、最近の開発では VSCode を利用する人も多いのではないでしょうか?
VSCode では GitLens
という拡張機能をインストールすることで、GUI 上で簡単に git blame
の情報を確認できます。
GitLens – Visual Studio Marketplace
この拡張を使えば、直感的に変更履歴を確認できるため、CLI に慣れていない人にとっては非常に便利です。

とはいえ、内部で何が行われているのかを理解しておくと、VSCode が使えない環境でも対応できるため、覚えておくと役立つかもしれません。
それでは!
文:開発部SS