git commitでローカルリポジトリに記録|gitコマンド

git_commitgit
git_commit

はじめに

ファイルを修正したら$ git add <ファイル名>でステージングエリアに追加しますが、このままではいけません。

ローカルリポジトリに変更履歴を記録するために、コミットする必要があります。

今回はローカルリポジトリに変更履歴を記録するためのコマンドである、git commitコマンドについて記載したいと思います。

勇者レベル1
勇者レベル1

ファイルを修正後、「$ git add <ファイル名>」でステージングエリアに追加しました。次はなにをしたらいいですか?

ラスボス
ラスボス

ローカルリポジトリに変更履歴を記録する必要がありますので、「$ git commit」コマンドで、ローカルリポジトリに記録しましょう。

勇者レベル1
勇者レベル1

「$ 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 」コマンドでコミットします。

基本的な流れはこんな感じですね。

コメント

タイトルとURLをコピーしました