Gitでソースコードのバージョンを検査・比較する方法

前回の記事では、リモートリポジトリからローカルリポジトリにソースコードを取得する方法について説明しました。今回は、Gitでソースコードのバージョンを検査・比較する方法を解説します。
ソースコードを開発するためのチーム作業においては、ソースコードの変更履歴を確認し、比較やリバート(revert)を行う必要が常にあります。これにより作業がより便利になります。
以下に、よく使われるコマンドをいくつか紹介します。



1. 現在のソースコードのバージョンを確認する
Git プロジェクトの現在の状態を確認するには、次のコマンドを使用します。
git status
このコマンドは、変更されたファイル、コミットされていないファイル、そして現在のブランチを表示します。
これは、現在作業しているソースコードの「バージョン」を把握するための最初のステップです。

2. コミット履歴を確認する
Git はすべての変更をコミットとして記録します。コミット履歴を確認するには、次のコマンドを使います。
git log
このコマンドは、コミットのハッシュ値、作成者、日付、コミットメッセージを含むコミットの一覧を表示します。
より簡潔な情報を見たい場合は、以下のようなオプションを付けられます。
git log --oneline

3. ソースコードのバージョンを比較する
Git では、ソースコードのバージョンを比較する方法がいくつかあります。

- 前のバージョンと比較する(同じブランチ内)
直前のコミットとの差分を確認するには、次のコマンドを使用します。
git diff HEAD^ HEAD
ここで、HEAD は現在のコミットを表し、HEAD^ はその直前のコミットを表します。

-任意の2つのコミットを比較する
コミットハッシュを使って2つのコミットを比較できます。
git diff <commit1> <commit2>
例:git diff a1b2c3d4 e5f6g7h8
このコマンドは、2つのコミット間の差分を表示し、どのような変更が行われたかを把握できます。

-別のブランチと比較する
ブランチ間の差分を確認するには、次のコマンドを使用します。
git diff <banrch1> <banrch2>
例:git diff main feature-branch
この場合、feature-branch が main に対して持っているすべての変更が表示されます。

4. 特定のファイルの差分を確認する
特定のファイルに対してのみ変更を確認したい場合は、次のようにします。
git diff <commit1> <commit2> --<file name>
例:git diff HEAD~1 HEAD -- src/app.js
このコマンドは、プロジェクト全体ではなく、特定のファイルにおける重要なコードの差分に集中して確認できます。

今回の記事では、Gitでソースコードのバージョンを検査・比較する方法について解説しました。
次回の記事では、ソースコードの cherry-pick や revert のようなパッチ修正する方法のを説明します。
ぜひお楽しみに!

参考資料:
https://git-scm.com/docs/git-show