Git のコミット
Git のコミットとは?
「Git のステージングエリア」で説明した通り、 Git では「コミット」という作業を行うことで、リポジトリを更新します。
このとき「コミット」はステージングエリアの情報を元に行われます。
コミットは Git が変更を管理する単位になります。コミット毎にコミットIDが割り当てられます。また、コミット時にメッセージを記載して変更を記録します。
Git のコミットを実行する
コミットを実行するためには、まずはステージングエリアに必要なファイルを追加し、ソースコードの変更のスナップショットを作成します。
ステージングエリアにファイルを追加したらコミットを実行します。
後述のように -a オプションを指定することで、ステージングエリアへのファイルの追加とコミットを一度に行うこともできます。しかし、変更は注意深くチェックして記録する方がよいので、私はおすすめしていません。
コミットは次のコマンドで実行できます。-m オプションでコミットメッセージを指定します。
git commit -m "ここにメッセージを入力"
-m オプションでコミットメッセージを指定しないで、 git commit を実行すると、 設定されているエディタが起動し、コメントの入力が促されます。
Git ステージングエリアへの追加とコミットを同時に行う
基本的にはステージングエリアにファイルを追加してから、 git commit を実行することをお勧めします。
-a オプションを指定することで、ステージングエリアへのファイルの追加とコミットを同時に行うこともできます。
git commit -a
尚、この場合追跡中のファイルのみが追加されます。新規ファイルは追加されません。
-a オプションと -m オプションを同時に指定するには次のようにします。
git commit -am "メッセージを入力"
Git の直前のコミットの取り消し
コミットを実行した直後になんらかの理由でそのコミットを取り消したい場合は、次のコマンドが使えます。
git reset --soft HEAD^
コミットを取り消す場合には、取り消すコミットが他で利用されていないことを確認しましょう。通常、取り消すよりも修正した上で新しくコミットする方が安全です。
Git の直前のコミットメッセージを修正
次のコマンドでコミットメッセージは変更できます。
git commit -amend -m "新しいメッセージ"
しかし、単純にコミットメッセージを書き換えているのではなく、コミット自体を取り消していることに注意しましょう。 このため、コマンド実行後にコミットIDは変わります。