【Git入門】git commit の使い方(変更内容をコミットする)

変更内容をコミット(リポジトリに記録)するときは「git commit」を使います。

以下から Gitコマンド「git commit」の使い方を解説していきます。

 

「git commit」コマンドの基本

以下の図は、ファイルの変更内容をローカルリポジトリに記録するまでの流れです。この手順の中で、インデックス(ステージング)に反映したファイルの変更内容を「ローカルリポジトリ」に記録するときに「git commit」コマンドを使います。この作業を「コミットする」と言います。

コミットを行うと、変更したユーザーの名前や変更日、変更したファイル、変更前と変更後のプログラムの差分が記録されます。

メモ

この図の詳しい解説はこちら

 

そして「git commit」コマンドは、以下のようにそのまま実行します。コマンドを実行するとエディタが立ち上がるので、コミットメッセージを書いて保存することでコミットが完了します。

git commit

 

以下のようにして、コメントをオプションで指定する方法もよく使います。

git commit -m 'コメント'

 

変更内容をコミット(リポジトリに記録)する

それでは実際に変更内容をコミット(リポジトリに記録)してみましょう。

 

前回の記事の続きで、あらかじめリポジトリを作成して、インデックスに変更したファイルを反映してある状態から始めます。まだできていない場合は以下のコマンドを参考にしてみてください。

mkdir git-practice
cd git-practice
git init

touch file1.txt
git add file1.txt

 

「git status」コマンドを実行すると、「Changes to be committed」の項目に追加したファイルが表示されていて、インデックス(ステージング)に反映されている状態になっていることが確認できます。

git status

 

この状態で、以下のコマンドを実行してコミット(リポジトリに記録)します。-m オプションの後ろには、コミットメッセージを書きます。

git commit -m 'file1.txt を追加'
メモ

コミットメッセージは、変更履歴を見るときに参照できます。

何を書いても良いですが、あとから見たときに何の変更か区別しやすいメッセージをつけておくと便利です。

 

-m オプションをつけずに git commit を実行するパターン

git commit コマンドを実行するときに、以下のように -m オプションをつけないパターンもあります。

git commit

 

コマンドを実行すると、エディタが立ち上がるので、以下のように1行目にコミットメッセージを書きます。そして保存して終了すると、コミットされた状態になります。

メモ

上は nano というエディタが立ち上がった状態です。

nano の場合は、control + xyエンターキー で保存して終了できます。

コミット時に立ち上がるエディタは好みのものに設定することができます。設定方法はこちら

 

コミットするまでの流れをおさらい

ここまでの流れで無事にコミット(リポジトリに記録)できました。

おさらいすると、プログラムに修正を加えるたびに 以下の作業を繰り返し行って、変更履歴をリポジトリに追加していく、ということになります。

  1. git add で変更したファイルを指定
  2. git commit でコミット

 

ここまでが「git commit」コマンドの基本!

 

「git commit」コマンドの応用

「git commit」コマンドの理解をさらに深めたい方は以下もご覧ください。

 

git add を使わずにコミットする

通常、コミットを行うときは git add コマンドを実行してから git commit コマンドを実行しますが、git add コマンドを省略してコミットする方法もあります。

 

以下のようにすると、指定したファイルがコミットされます。

git commit ファイル

file1.txt をコミットするコマンド例

git commit file1.txt

 

また、以下のようにすると、カレントディレクトリ以下の変更ファイルをまとめてコミットすることができます。このとき 新しく追加されたファイルは対象に含まれません。

git commit .

 

「git commit」コマンドのオプション

-a(–all)オプション

-a--all)オプションをつけると、変更したファイルをまとめてコミットすることができます。このとき 新しく追加されたファイルは対象に含まれません。

コマンド例

git commit -a

 

–amend オプション

--amend オプションをつけると、直前のコミットを修正することができます。

 

以下のようにコマンドを実行すると、エディタが立ち上がり、直前のコミットのコメントを修正できます。このとき、git add コマンドであらかじめインデックスにファイルを反映してから以下のコマンドを実行すると、そのファイルを直前のコミットに追加することもできます。

git commit --amend

 

-m オプション

-m オプションをつけると、コミットメッセージを指定することができます。

-m オプションをつけない通常の場合だと、エディタが立ち上がり、そこでコミットメッセージの入力を行いますが、この方法ではエディタを起動せずにコミットを行うことができます。

「file1.txt を追加」というメッセージをつけてコミットするコマンド例

git commit -m 'file1.txt を追加'

 

-v オプション

-v オプションをつけると、エディタが起動されたときに変更点が表示されるようになります。

コマンド例

git commit -v

 

以下はコマンド実行後の表示例です。「file1.txt」に新しく「dd」の行(左側に + がついている行)が追加されたことが確認できます。

 

まとめ

以上、「git commit」の使い方でした!

ここまでの内容をまとめておきます。

  • git commit -m 'コミットメッセージ' で、インデックスに反映されている変更ファイルをコミット(リポジトリに記録)することができる。
  • git commit でコミットする方法もある。コマンドを実行するとエディタが立ち上がり、1行目にコミットメッセージを書いて保存して終了すると、コミットされた状態になる。
  • プログラムに修正を加えるたびに、git add と git commit コマンドを使って 変更履歴をリポジトリに追加していく。