ゆるおたノート

Tomorrow is another day.

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

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

はじめに

基本の流れ

Git自体はじめての方は、まずはこちらからどうぞ。

凡例

記号・用語 意味 説明
$ コマンドライン」で使えるコマンド 通常、Gitを始めとする「シェルスクリプト」系の説明では、コマンドの文頭に$をつけて表現されることが多いようです。
当記事でもそれに倣って記載しています。

実際にコマンドを入力するときは、git~以下をコピペしてください。
# コメント 補足事項など。
(対話モードでは使えません、、、)
<> 編集点(という表現で良いのかな…?) 任意の値(名前、識別子など)を入力してください。
(コミットの)識別子 コミットごとに付与される半角英数字7桁の番号。 SHA-1というハッシュ値だそうです。
当記事では<コミット>と表記します。

▼コミット

【A】既にステージに上がっている変更内容をまとめてコミット

引数なしで実行します。

$ git commit

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

git add .git commitの合わせ技。

$ git commit -a
$ git commit --all

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

【C】ファイルやフォルダを1つずつ指定してコミット

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

.gitignoreに記載のあるファイルはステージされないため、コミットにも含められずエラーになります。

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

「<ファイル名>」は、gitが検知しているファイルにはマッチしませんでした。

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

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

$ git commit .

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

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

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

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

※後者は=が必要!

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

オプション-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.」のコミット履歴が作成されました。

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

普段は↑のコマンドを使ってコミットメッセージを入れるので、これはあまり必要ないかと思います。

ただ、コメントを入れ忘れてしまった時にはエディタが自動で立ち上がります。
そのときに焦ってしまうので笑、一応記載しておきます。

(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のコマンドについて、少しずつ記事にまとめています。

誤り、分かりづらい等ありましたら、ぜひコメント欄Twitterお問い合わせフォーム等でご教示ください!

次回

連載目次

  1. 【Git勉強中】操作に慣れてきたので、流れを整理してみました。 - ゆるおたノート
  2. 【Git勉強中】ブランチの移動を使い分けたい - ゆるおたノート
  3. 【Git勉強中】ステージに上げたり下げたり。 - ゆるおたノート
  4. 当記事【Git勉強中】ステージした変更を記録する - ゆるおたノート
  5. 【Git勉強中】あっ!そのコミット訂正させてください! - ゆるおたノート
  6. 【Git勉強中】自分のコミット履歴を提出する - ゆるおたノート
  7. 【Git勉強中】リポジトリの作成と接続 - ゆるおたノート

参照

注釈

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