Git

The `git commit` command saves the changes in the staging area to the repository and records them with a message that describes the changes.

git commit

 Gitの git commitコマンドは、リポジトリに対して変更を記録するための非常に重要なコマンドです。このコマンドを使うことで、プロジェクトの進行状況や変更履歴を詳細に管理することができます。

基本的な使い方

Git Bash

git commit -m "コミットメッセージ"

 -mオプションを使ってコミットメッセージを指定します。このメッセージは、どのような変更が行われたのかを説明するために非常に重要です。

よく使われるオプション

-a
全ての変更を自動的にインデックス(ステージ)に追加してコミットします。新しく追加されたファイルは含まれません。

Git Bash

git commit -a -m "コミットメッセージ"
--amend
最後のコミットを修正します。コミットメッセージやステージングエリアの変更を修正したい場合に使用します。

Git Bash

git commit --amend -m "修正されたコミットメッセージ"
-v
コミットメッセージの編集画面に、変更内容の差分を表示します。

Git Bash

git commit -v
--no-edit
コミットメッセージを編集せずにコミットします(--amendと一緒に使われることが多い)。

Git Bash

git commit --amend --no-edit

インタラクティブなコミット

時には、コミットをより細かく制御したい場合があります。このような場合にはインタラクティブなコミットが有効です。

Git Bash

git add -p
git commit

 git add -pコマンドを使用すると、変更をパッチごとに確認してステージングすることができます。これにより、特定の変更だけを選んでコミットすることが可能です。

コミットメッセージのプラクティス(習わし)

 プロジェクトごとに詳細な書き方は変わりますが、おおよそ次のように記述します。

Plaintext

1行目:要約(タイトルや概要)
2行目:空白にする
3行目以降:詳細(変更内容)

 1行目には prefix(プレフィックス)を利用した記述を行います。prefixは次のようなものがありますが、すべてを利用することはほとんどないと思います。利用する prefixの種類と用途については開発チームで、何を、どのように使うかをしっかりと決めて利用します。

prefix(日本語)
意味
Add:(新規追加:)
新規ファイル、ファイル内記述の新規追加
Feat:(新規追加:)
機能に関する新規追加
Fix:(バグ修正:)
バグの修正
Improve:(改良改善:)
ソースコードの改善
Refactor:(構造整理:)
ソースコードや変数名などの整理
Update:(機能更新:)
機能の改善に伴う変更(バグではない)
Change:(仕様変更:)
依頼内容変更など仕様に伴う変更
Rename:(名前変更:)
ファイル名など名前にかかわる変更
Docs:(文書修正:)
テキストの変更
Test:(テスト関連:)
テストコードやテスト項目の追加など
Hotfix:(重大なバグ修正:)
重大なバグに対しての修正
Remove:/Delete:(削除:)
ファイルの削除、機能の削除など
Move:(ファイル移動:)
ファイルの移動
Style:(スタイル関連:)
コーディング、スタイルシートの修正
Disable:(取り消し:)
コードのコメントアウト化
Revert:(取り消し:)
変更内容の取り消し

複数行のコメントを入れる方法

インタラクティブエディタを使用

 git commitコマンドをオプションなしで実行すると、デフォルトのテキストエディタ(通常は Vimや Nano)が開きます。ここで、複数行のコメントを入力できます。

  1. コマンドを実行します。

    Git Bash

    git commit
  2. デフォルトエディタが開くので、1行目に簡単なタイトルを入力し、2行目を空けます(この行は空けるのが一般的な慣習です)。
  3. 3行目以降に詳細な説明や変更の理由を記述します。
  4. エディタを保存して終了すると、複数行のコメントが含まれたコミットが作成されます。

-m オプションを使って複数行コメント

 git commit -m オプションで複数行コメントを一度に指定することも可能です。この場合、各行をシェル内でクオートし、改行文字で分割します。

Git Bash

git commit -m "タイトル" -m "詳細な説明や変更理由をここに書くことができます"

 -m オプションを複数回使用することで、複数行のコメントを作成することができます。