git commitとは?
git commitとは、変更内容をリポジトリに記録するためのgitコマンドです。
ステージングエリアに追加された変更を正式に履歴として保存し、あとで変更箇所の確認や過去に戻る操作を可能にします。
コミットをする主な目的:
- 変更履歴を明確に記録する
- 作業内容をチームメンバーと共有する
- 過去の状態に戻れるようにする
基本のgit commit手順
git commitの基本的な手順は以下のとおりです。
- ファイルをステージングエリアに追加する
git add ファイル名
- コミットを実行する(メッセージ付き)
git commit -m "コミットメッセージ"
具体例:
git add index.html
git commit -m "トップページのレイアウト修正"
この流れで変更内容がリポジトリに保存されます。
コミットメッセージの書き方
コミットメッセージは、変更内容を簡潔かつ具体的に伝える重要な役割を持っています。
よいコミットメッセージのポイント:
- 内容が具体的かつ明確である
- 動詞から書き始める(修正、追加、削除など)
- 変更の理由や目的を書く(必要ならば本文で詳しく書く)
よい例:
git commit -m "ログインフォームのバリデーションを追加"
悪い例:
git commit -m "修正した"
明確でわかりやすいメッセージを心がけましょう。
コミット履歴を確認する方法
これまでのコミット履歴を確認するには以下のコマンドを使います。
基本のコミット履歴確認:
git log
1行で簡潔に表示する場合:
git log --oneline
ファイルの変更差分を確認する場合:
git log -p
これらを使い分けて、効率よく履歴を把握しましょう。
git commitの取り消し方
コミットを誤ってしまった場合、取り消す方法があります。
直前のコミットを取り消し、変更内容を残す場合:
git reset --soft HEAD^
直前のコミットを完全に取り消し、変更内容も消す場合:
git reset --hard HEAD^
注意:--hard
オプションを使うと、変更内容は完全に消えてしまうため、慎重に実行しましょう。
直前のコミットを修正する
コミット後に、「コミットメッセージや変更内容を修正したい」と思うことがあります。
以下のコマンドで直前のコミットを修正できます。
コミットメッセージを修正:
git commit --amend -m "修正したコミットメッセージ"
コミット内容を修正(変更したいファイルを再度addした後):
git add 修正ファイル
git commit --amend
この方法で簡単に直前のコミットを修正できます。
差分を指定してコミットする
ファイル内の特定の変更箇所だけをコミットしたい場合、以下のコマンドを使います。
git add -p
このコマンドを実行すると、変更箇所ごとに対話形式でコミットするかどうかを選択できます。
- y:変更をコミットに含める
- n:変更を含めない
- q:途中で終了する
細かくコミット内容を調整したい場合に便利です。
空のコミットを作成する方法
ファイルに変更を加えずに、空のコミットを作成することもできます。
主にデプロイのトリガーや、ログに履歴を残したいときに活用します。
空のコミット作成方法:
git commit --allow-empty -m "空のコミットです"
git commit使用時の注意点
git commitを使う際は次の点に注意しましょう。
- コミットは細かく分け、変更内容が明確になるようにする
- 変更内容と無関係なファイルを含めないようにする
- 過去のコミットを修正するときは、既にpush済みの場合、慎重に対応する(他の人に影響するため)
これらを意識することで、リポジトリを安全かつわかりやすく管理できます。
git commitコマンド早見表
最後にgit commitのコマンド早見表をまとめました。
操作内容 | コマンド |
---|---|
基本のコミット実行 | git commit -m "メッセージ" |
全変更を一括コミット | git commit -am "メッセージ" |
コミットメッセージ修正 | git commit --amend -m "新メッセージ" |
コミット内容を修正 | git add ファイル && git commit --amend |
空のコミットを作成 | git commit --allow-empty -m "メッセージ" |
差分指定コミット | git add -p |
履歴確認(1行表示) | git log --oneline |
コミットの取り消し | git reset --soft HEAD^ |
コミット完全取消 | git reset --hard HEAD^ |
git commitをしっかり理解して、効率よく開発を進めましょう。