裏紙に書く程度の内容

コミットメッセージをきちんと書く - Git入門

Git入門の第4回目です。

前回まででひとまず一連作業の流れはわかりました。

とりあえず開発の作業が進められるかと思います。

続いてより詳細な使い方について覚えていきましょう。

今回はログの書き方についてです。

目次はこちら

コミットメッセージをきちんと書く

今まではコミットの際、以下のようにしていました。

$ git commit -m 'メッセージ'

-mに続く(上記では'メッセージ'部分)はコミットメッセージといって、どういう(何の為とか)コミットなのかを明確にしておくメモ書きのようなものです。

後でコミットの状況を見返す際に非常に重要な手掛かりとなります。

しかし、上記コマンドでは1行だけしか書けませんね。

これじゃとてもじゃないけどコミット理由は書ききれません。ややこしい修正をした時なんかは特に。

ではもっと詳細なコミットメッセージを書くにはどうしたらいいでしょうか?

複数行にわたるコミットメッセージ

上記では-mオプションを使用してコミットしましたが、これは”1行のコミットメッセージを指定する”という機能です。

このオプションを指定しない場合、複数行にわたりコミットメッセージを記入することが出来ます。

$ git commit ./

実際に上記コマンドを実行すると、何やら git bash の表示が変わるかと思います。

実行結果

表示されたのは”vim”というエディタです。

ここにコミットメッセージを書けばいいのですが、この”vim”が初心者には厄介な代物。

使い慣れていない人は別のエディタでコミットメッセージを書くように設定を変更するのがおすすめです。

※vimが開いている場合は一旦閉じてください。ESCを押してから:q!と入力してエンターキーを押すと閉じます。

コミットメッセージを書くエディタを変える

実際にコミットメッセージを書くエディタを変更するには以下のようにします。

$ git config --global core.editor "'c:/Program Files/Notepad++/notepad++.exe'"

"c:/Program Files ..."のところは使用するエディタの実行ファイルのパスを指定してください。

上記例はNotepad++ですね。

使い慣れたエディタでいいのですが、コミットの度にエディタを起動するので、なるべく軽量なエディタの方が使いやすいと思います。

設定したら、もう一度コミットしてみましょう。

$ git commit ./

実行結果

今度は指定したエディタが開いたかと思います。

任意のメッセージ(複数行可)を入力したら、保存してエディタを閉じます。

すると、git bashの方にはコミット結果のメッセージが出てきます。

[master 7fea3b5] test commit
 1 file changed, 1 insertion(+), 1 deletion(-)

うまくコミットされたようです。では、コミットしたログを見てみましょう。

$ git log
commit 7fea3b5ddf36b6e9fb94773ae7e2672f9483b5ec
Author: hoge <hoge@test.com>
Date:   Wed Mar 22 16:25:39 2017 +0900

    test commit

    複数行の登録テストです。

commit 881b43274b99b368bbbad5f6bcf21e30396a6ee0
Author: hoge <hoge@test.com>
Date:   Mon Mar 13 14:13:14 2017 +0900

    initial commit

はい、きちんとコミットメッセージが登録されていますね。

ログが文字化けする場合

環境によりますが、windowsの場合日本語のコミットメッセージが文字化けします。

□□□□□みたいな感じで表示されているかと思います。)

この場合は git bash のタイトルバーのところを右クリック、”プロパティ”ウィンドウを表示して”フォント”タブを表示してから”OK”ボタンを押して確定するとなおります。

コミットメッセージに何を書くのか?

さて、これでひとまず複数行にわたるコミットメッセージが書けるようになりました。

では、どういった内容を書くのが適切でしょうか?

一般的には以下のようにします。

1行目 : 要約
2行目 : 空行
3行目移行 : 詳細

1行目は変更内容を要約した短い1文にします。これは「コミットタイトル」として扱われるものです。

2行目は空行。詳細と分けるためにあけておきます。

3行目以降は変更の詳細を書きます。
ニュアンスとしては、「どのように修正したか」ではなく、「なぜ修正したか」を明確にするべきです。

商品の削除機能バグを修正

商品データの削除時、ログインユーザの商品かどうかのチェックをしていなかったため、
自身の商品ではなくてもIDさえわかれば削除できてしまっていた。
(通常操作では他人の商品の削除操作はできないが、
ブラウザ側でHTML書き換え等により商品IDを変更されると起こりうる)

削除前に自身の商品かどうかをチェックするように変更。

悪い例

商品の削除機能バグを修正

商品削除前に自分のデータかどうかチェックするよう修正。

…あまりいい例が思いつきませんでしたが。

上記例では前者は「なぜ」の部分、後者は「どのように」の部分がメインになっています。

gitを使わない場合は後者の「どのように」をきちんと書かないといけないですが、git導入により「どのように」ということはソースコードの差分を見れば明白になります。

そのため、「どのように」を書く必要はないのです。

その他、チームや社内での取り決めがあればそれにしたがって書きましょう。


今回はここまでです。

そろそろgit bashの扱い方になれてきたころではないでしょうか。

こういうのは説明を読むより実際に使いながら覚えていくのが早いので、どんどんコミットしていきましょう。

広告
Index
広告