(最終更新月:2023年8月)
✔このような方へ向けて書かれた記事となります
「git commitの具体的なやり方が分からない」
「git commitをまとめて管理したい」
「git commitの具体的な例を見て理解したい」
✔当記事を通じてお伝えすること
- git commitの基本的な知識
- git commitの方法とその活用法
- git commitの具体的な使用例
当記事ではgit commitの基本から、まとめて管理する方法まで、具体的な例を交えて詳しく説明します。
ぜひ最後までご覧ください。
Gitとそのブランチについて
こちらでは、「Gitとそのブランチ」についてお伝えしていきます。
基本をおさえたうえで、より具体的な本テーマ「git commitのまとめ方」を深堀りしていきましょう。
- Gitの基本的な知識
- ブランチとは?
- ブランチ操作:初級チュートリアル
Gitの基本的な知識
Gitは、分散型バージョン管理システムと呼ばれ、複数人の開発者が同じコードベースを共有し、同時作業を可能とするツールです。
リポジトリと呼ばれるデータベースに、プロジェクトの全ファイルとその修正履歴が保存されます。
以前のバージョンに戻したり、誰がいつどのような変更をおこなったかを簡単に把握できたりするのが特徴です。
ブランチとは?
ブランチとは、開発作業をおこなうための独立した道筋のことを指します。
ブランチで作業することで、ほかのブランチから独立して作業でき、影響を受けずに自身の仕事に専念できるのです。
作業完了語には、作業内容を「マージ」することで、本流と統合可能。
これにより、複数の機能開発やバグ修正を同時におこなえます。
ブランチ操作:初級チュートリアル
ブランチの操作はとして主なものは以下のとおり。
新しいブランチの作成:「git branch ブランチ名」
ブランチの切り替え:「git checkout ブランチ名」
ブランチのマージ:「git merge ブランチ名」
これらの操作を理解し、活用することで、複数の開発作業を効率的に進めることが可能です。
「git commit」の基本
こちらでは、「git commitの基本」についてお伝えしていきます。
- 「git commit」の定義と役割
- 「コミットログまとめ」の基礎知識
- コミットをまとめる方法:ステップバイステップ
「git commit」の定義と役割
「git commit」は、おこなった変更をリポジトリに記録するためのコマンドです。
具体的には、ワーキングディレクトリの現在の状態をスナップショットとして保存し、そのスナップショットを新たなコミットとしてリポジトリに追加します。
このコマンドは以下のように使用します。
git commit -m "commit message"
-mでメッセージをつければ、後からそのコミットが何をしたものなのかを簡単に理解できます。
「コミットログまとめ」の基礎知識
コミットログとは、これまでにおこなったコミットの一覧を確認するためのもの。
git log
しかし開発が進むとコミットの数が増えていき、その全てを見るのは大変です。
ここで、コミットログをまとめるという作業が有効になります。
ここでは「git rebase -i」を使用したインタラクティブリベースを見ていきましょう。
このコマンドは、コミットの順序を変更したり、コミットをまとめたりすることが可能です。
コミットをまとめる方法:ステップバイステップ
では、具体的にコミットをまとめる方法を見ていきましょう。
- コミットの履歴を表示
- rebase -iの実行
- コミットメッセージの編集
コミットの履歴を表示
まず、「git log」コマンドを使ってコミットの履歴を表示します。
git log
rebase -iの実行
次に、「git rebase -i HEAD~n」コマンドを使用します。
ここで「n」は最新のコミットから数えて何個前までのコミットを対象にするかを指定しましょう。
例として、3つ前までのコミットを対象にする「HEAD~3」で見ていきます。
git rebase -i HEAD~3
テキストエディタが開き、対象となるコミットの一覧が表示。
各行の最初の「pick」を「squash」または「s」に変更すると、そのコミットを前のコミットとまとめられます。
pick c8ffa41 second commit
s 645885e test3
s 266f418 test4
squashについては以下の記事で詳しく解説しています。
コミットメッセージの編集
最後に、コミットメッセージの編集画面が表示されるので、まとめたコミットのメッセージを適切に編集しましょう。
全ての編集が完了したら、保存してエディタを閉じます。
git log --oneline
確認すると、まとまっているのがわかるはずです。
リモートリポジトリの理解と利用
こちらでは、「リモートリポジトリの理解と利用」についてお伝えしていきます。
- リモートリポジトリとは?
- リモートリポジトリの活用方法
リモートリポジトリとは?
リモートリポジトリとは、ネットワーク上に存在し、複数人で共有するためのリポジトリです。
ローカルリポジトリと対になる形で存在し、プロジェクトのコードや変更履歴などを共有するための中心的な場所となります。
以下のようなサービスがホスティングを提供しています。
- GitHub
- GitLab
- Bitbucket
リモートリポジトリの活用方法
リモートリポジトリは、以下のコマンドを用いて活用します。
git remote add リポジトリ名 リポジトリのURL
例えば以下は、リモートリポジトリのURLが「https://github.com/user/repo.git」の場合です。
git remote add origin https://github.com/user/repo.git
多くの場合、メインのリモートリポジトリの名前として「origin」が使われます。
次に、ローカルの変更をリモートリポジトリに反映させるためには「git push」コマンドを使用します。
git push origin master
また、リモートリポジトリの変更をローカルに取り込むには「git pull」コマンドを使用しましょう。
git pull origin master
Gitタグについて学ぼう
こちらでは、「Gitタグについて学ぼう」についてお伝えしていきます。
- タグの定義と用途
- タグ操作の基本:初級チュートリアル
タグの定義と用途
Gitのタグとは、特定のコミットにラベルを付ける機能のこと。
主にプロジェクトの特定のポイント、例えばバージョンリリースのポイントを記録するために使用されます。
タグを付けることで、後からその時点のコードを簡単に参照が可能です。
タグ操作の基本:初級チュートリアル
タグの操作は、「git tag」コマンドを使用します。
新しいタグを作成するものは、以下のとおり。
git tag v1.0.0
「v1.0.0」が作成するタグの名前です。
この名前は任意のものを設定できますが、バージョン番号などを用いるのが良いでしょう。
作成したタグをリモートリポジトリに反映するには、「git push」コマンドに「–tags」オプションを付けて実行します。
git push origin --tags
既存のタグの一覧を表示は、「git tag」コマンドで可能です。
git tag
タグを活用することでプロジェクトの各段階を管理し、特定のポイントに簡単に戻ることが可能になります。
実践!Git Commitのまとめ方と書き換え
こちらでは、「実践!Git Commitのまとめ方と書き換え」についてお伝えしていきます。
- コミットログのまとめ方詳解
- コミットの書き換え方法:rebase-iの活用
- チュートリアル:コミットを書き換える実践
コミットログのまとめ方詳解
前述の「git rebase -i」を用いたコミットログのまとめ方を改めて見ていきます。
「git log」コマンドでコミットの履歴を表示し、対象となるコミットを選択
git log
次に、「git rebase -i HEAD~n」コマンドを実行します。
git rebase -i HEAD~2
コミットのリストが表示されるので、「squash」または「s」を選択して、ひとつ前のコミットとまとめましょう。
pick c8ffa41 second commit
s 645885e test3
s 266f418 test4
コミットメッセージの編集画面が表示されたら、まとめたコミットのメッセージを適切に編集し、保存して閉じます。
コミットの書き換え方法:rebase-iの活用
特定のコミットを書き換えるには、「git rebase -i」コマンドを用いて、対象のコミットを「edit」または「e」に設定します。
その後、「git commit –amend」コマンドを使ってコミットメッセージを変更し。
「git rebase –continue」コマンドでrebaseを再開します。
チュートリアル:コミットを書き換える実践
それでは実際にコミットを書き換えるチュートリアルをおこなってみましょう。
ここでは、過去のコミットを編集して、コミットメッセージを書き換えるという操作を試みます。
以下の手順でおこなって見てください。
- 「git log」コマンドでコミットの履歴を表示し、書き換えたいコミットを特定
- 「git rebase -i HEAD~n」コマンドでインタラクティブリベースを開始
- 書き換えたいコミットの行を「edit」または「e」に変更
- 「git commit –amend」コマンドで新しいコミットメッセージを入力
- 「git rebase –continue」でリベースを再開
これでコミットの書き換えが完了しました。
この知識を活用して、より効率的でわかりやすいコミットログを作成しましょう。
まとめ
当記事でお伝えした内容をまとめます。
- git commitは、これまでの変更を記録するためのコマンド
- git commitをまとめるためには、git rebase -iコマンドが使える
- まとめるための指示は、「squash」もしくは「s」でおこなう
gitは、開発工程を管理すために、ほぼ不可欠と言って良いツールです。
開発過程で、余計なコミットをおこなってしまうことも多々あるでしょう。
当記事の内容を覚えておけば、後から見返してもわかりやすいコミット履歴が作れます。
ぜひ当記事の内容を参考に、自他ともにわかりやすいレポジトリを作りましょう。