ゆるおたノート

Tomorrow is another day.

【Git勉強中】ステージした変更を記録する

いよいよ「Gitの本番」って感じです!

はじめに

基本の流れ

www.yuru-wota.com

凡例

記号・用語 意味 使い方
$ 「"コマンドライン"で使えるコマンド」のしるし。
通常、Gitを始めとする「シェルスクリプト」系の説明では、コマンドの文頭に$をつけて表現されることが多いようです。当ブログでもそれに倣って記載してます。
実際にコマンドを入力するときは、git~以下をコピペしてください。
# コメント 補足事項など。
(対話モードでは使えません、、、)
<> 編集点(という表現で良いのかな…?) 任意の名前、識別子を入力してください。
(コミットの)識別子 コミットごとにつく半角英数字7桁の番号。
SHA-1というハッシュ値らしいです。
当記事では<コミット>のことを指します。

コミット

git addでステージされている変更内容をまとめてコミット

引数なしで実行します。

$ git commit

変更のあったファイルをインデックスに追加しつつ、まとめてコミット

git add .git commitの合わせ技。
新規作成されたファイルは対象外なので、別途git addでステージしてからコミットする必要があります。

$ git commit -a
$ git commit --all

ファイルを指定してコミット

$ git commit <ファイル名>
.gitignoreに該当するファイルに注意!

ファイルがステージされないため、コミットに含められずエラーになります。

# 入力
$ git commit <ファイル名>

# 結果
error: pathspec '<ファイル名>' did not match any file(s) known to git.

カレントディレクトリを指定して、まとめてコミット

相対パスとして.(ピリオド)を引数につけます。

$ git commit .

コミットメッセージの入力

コミットメッセージを入力しつつコミット

コミット後にテキストエディタで入力する手間(後述)が減ります。
ただし、入力している文字数は確認できないので、何かしら対策が必要かも…?*1

$ git commit . -m '<コメント>'
$ git commit . --message='<コメント>'

※後者は=が必要!

コミットメッセージに段落をつける

オプション-m <コメント>1つにつき1つずつ段落化されます。
これを利用して、要約→詳細のように表現できます。

$ git commit . -m '<コメント>' -m '<詳細コメント>'
【例】
# 入力
$ git commit -m "test1." -m "test2!" -m "it's test3!!"

# 結果
[develop c115340] test1.
 1 file changed, 1 insertion(+), 1 deletion(-)

# コミット内容を確認
$ git log
commit c11534072071664c079cb709d2cabb32d8342db0 (HEAD -> develop)
Author: xxxxxxxx <xxxxxxxx@users.noreply.github.com>
Date:   Wed Jun 26 16:55:41 2019 +0900

    test1.

    test2.

    it's test3!

タイトル(Short Description)が「test1.」のコミット履歴が作成されました。

エディタでコミットメッセージを入力してコミット

普段は↑のコマンドを使ってコミットメッセージを入れるのでこれはあまり必要ないかと思いますが、コメントを入れ忘れた時に軽く焦るので笑、一応記載しておきます。

(1) コマンドを打ちます。

$ git commit

(2) 下記のメッセージと共にエディタが開きます。

hint: Waiting for your editor to close the file...

エディタのクローズ待ち…

(3) エディタで1行目にコメントを入力。

ここにコメントを入力。
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# On branch develop
# Changes to be committed:
#  modified:   index.html
#

コミットメッセージを入力してください。
#で始まる行は無視しますが、メッセージが空の場合はコミットを中止します。
(以下略)

(4) 入力を終えたらCtrl+Sで保存。

※飛ばすと怒られます。笑

Aborting commit due to empty commit message.

コミットメッセージが無いので、コミットは中止します。

(5) 保存できたら、Ctrl+Wでエディタを閉じます。

参照

git-scm.com www-creators.com qiita.com

*1:コミットメッセージの文字数制限について。 qiita.com