アクティブなブランチとの比較
このステップでは、git log
と git for-each-ref
から取得した情報を比較し、それらが「アクティブな」ブランチの概念とどのように関連しているかを理解します。
まだ ~/project/my-time-machine
ディレクトリにいることを確認してください。
git log
はデフォルトで現在のブランチの履歴を表示し、git for-each-ref refs/heads/
はすべてのローカルブランチに関する情報を表示することを見てきました。現在のシンプルなリポジトリでは、master
という 1 つのブランチしかないため、両方のコマンドで表示される最後のコミット日付は同じになります。
git for-each-ref
コマンドを再度実行して、出力を見てみましょう。
git for-each-ref --sort=-committerdate refs/heads/ --format='%(committerdate:short) %(refname:short)'
出力:
YYYY-MM-DD master
そして git log --oneline
コマンドを実行します。
git log --oneline
出力:
a1b2c3d (HEAD -> master) Send a message to the future
両方のコマンドにより、リポジトリ内の最後のアクティビティ(最後のコミット)が master
ブランチで行われたことが確認され、そのコミットの日付が表示されます。
複数のブランチを持つ実際のプロジェクトでは、コミッターの日付でソートされた git for-each-ref refs/heads/
を使用すると、最近アクティブなブランチをすぐに確認できます。リストの上部にあるブランチは、最近作業が行われたブランチです。
この出力を特定のブランチでの git log
の出力と比較することで、リポジトリ全体のアクティビティと個々のブランチの特定の履歴を理解するのに役立ちます。
たとえば、feature-x
という別のブランチがある場合、git log feature-x --oneline
を実行してその特定の履歴を確認し、その最後のコミット日付を git for-each-ref
で表示される日付と比較することができます。
すべてのブランチでの最近のアクティビティをすぐに確認できるこの機能は、プロジェクトマネージャーやチームリーダーが開発の進捗状況を俯瞰するのに非常に役立ちます。