はじめに
ファイルを修正したら「$ git add <ファイル名>」でステージングエリアに追加しますが、このままではいけません。
ローカルリポジトリに変更履歴を記録するために、コミットする必要があります。
今回はローカルリポジトリに変更履歴を記録するためのコマンドである、git commitコマンドについて記載したいと思います。
ファイルを修正後、「$ git add <ファイル名>」でステージングエリアに追加しました。次は何をしたらいいですか?
ローカルリポジトリに変更履歴を記録する必要がありますので、「$ git commit」コマンドで、ローカルリポジトリに記録しましょう。
「$ git commit」 コマンドですね。でわ早速、やってみます!
基本的な構文
ローカルリポジトリに変更履歴を記録するコマンドが、「$ git commit」コマンドになります。
基本的な構文は以下になります。
$ git commit
$ git commit -m "<1行メッセージ>"
$ git commit -v
超シンプルですね。
ステージングエリアに追加された変更ファイル群を、ローカルリポジトリに記録する処理になります。
オプション
使用できるオプションは、以下になります。
オプション | 説明 |
---|---|
-a(–all) | 編集したファイルをステージングエリアへ追加することなく(スキップ)、一気に直接リポジトリへコミットする。なお、新規作成したファイルについては、git add する必要あり。 |
–amend | 直前のコミットをやり直す。コミットメッセージの修正等。 【ご注意】リモートリポジトリにpushしたコミットは修正してはいけない。既にpullした人がその後pushしようとした際、コンフリクトが起きてpushできなくなる。 |
-m <メッセージ> | 一行コミットメッセージ。詳細な説明が不要なときに使用する。 |
-c <コミットID> | コミットメッセージを過去のコミットやタグから読み込み修正する。 ※ただ、自分の環境だとなぜか上手くいかない。。確認中。 |
-t <テンプレートファイル> | コミットメッセージ用のテンプレートファイルを読み込む。エディターが起動するので、コミットメッセージをフォーマットに合わせたいときに便利。 |
–auther=<作成者> | 作成者の名前を明示的に指定する。作成者とコミッターが異なるときに使用する。 |
※作成途中です。 |
コミットメッセージを書くときに気を付けること
コミットメッセージを書く時は、他の人が読んだときに理解しやすいように書きましょう。
簡易版メッセージ
「$ git commit -m」コマンドで一行メッセージを書く時は、変更内容を一行で簡潔に書きましょう。
詳細版メッセージ
公式というか複数行で正しくコミットメッセージを書く際は、以下のように書きましょう。
一行目:変更内容の要点
二行目:空白行
三行目:変更した理由
書き慣れるまでは、少し時間がかかるかもしれませんね。
コミットする前後には、gitの状態を確認するためにgit statusコマンドをよく使いますので、こちらも使用していけばよいかと思います。
直前のコミットを修正したい場合
直前のコミットを修正したいときは、次のコマンドを実行します。
$ git commit --amend
エディターが起動しますので、適宜コミットメッセージを修正します。
ただし、リモートリポジトリにpushしたコミットに関しては、修正してはいけません。
リモートリポジトリ側の履歴が壊れてしまいます。
ローカルリポジトリに変更内容を記録
でわ、早速コミットしてみましょう。
コミットする前に今のgitの状況を確認してみましょう。
「$ git status」コマンドで今の状況を確認します。
$ git status
On branch master
nothing to commit, working tree clean
$
変更されたファイル等は特にありませんね。
でわ、test.htmlというファイルを作成してみます(内容は何でもよいです)。
ファイルを作成する際はエディター(今回はAtom)で作成します。
一旦、「$ git status」コマンドで現状を確認してみましょう。
$ git status
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
test.html
nothing added to commit but untracked files present (use "git add" to track)
$
追跡できていないファイルとして、test.htmlが記載されていますね。
「$ git add test.html」コマンドで、ステージングエリアに追加しましょう。
$ git add test.html
$ git status
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: test.html
$
あとは、「$ git commit 」コマンドでコミットしましょう。
$ git commit
hint: Waiting for your editor to close the file...
[master 5cc5c3d] first commit
1 file changed, 1 insertion(+)
create mode 100644 test.html
$
「$ git commit」コマンドを実行するとエディターが起動しますので、コミットメッセージを入力します。
今回は単純に「first commit」としました。
入力後、エディターを閉じればコミット完了です。
「$ git status」コマンドで、今の状況を確認してみましょう。
$ git status
On branch master
nothing to commit, working tree clean
$
コミット済みなので、特に何もありませんね。
念のため、「$ git log」コマンドも実行して確認してみましょう。
$ git log
commit e2a2246c94fefee35adf52c19c2c8799e049fc0c
Author: xxxxxxx <xxxxxxx@gmail.com>
Date: Wed Sep 23 01:12:47 2020 +0900
first commit
無事にコミットが完了していますね。
まとめ
ファイルの修正が終わったら、まずは「$ git add <ファイル名>」でステージングエリアに追加しましょう。
ステージングエリアに追加後はローカルリポジトリに記録する必要がありますので、「$ git commit 」コマンドでコミットします。
基本的な流れはこんな感じですね。
コメント