読者です 読者をやめる 読者になる 読者になる

c-bata web

@c_bata_ のメモ。python多め

git勉強内容まとめ3(gitのlogについて)

前回は,gitでとりあえずコミットまでの手順を確認しました。

※前回の記事→http://nwpct1.hatenablog.com/entry/2013/09/07/010708

ただし、前回の最後に表示させたgitのログの意味が全くわかっていない状態なので,今日はgitのログについて勉強してみます。


$ git log
commit bc333a879a35668b05156bfca4d0ccddb78a1ed6
Author: 名前 <メールアドレス>
Date:   Wed Sep 4 23:08:51 2013 +0900

    initial commit

↑のようにgit logと入力するとログが表示されます


コミットに使うID

commit bc333a879a35668b05156bfca4d0ccddb78a1ed6

git logコマンドを入力すると1番最初に出てくる↑の文字列。

commitと書かれた横に意味の分からない文字列が並んでいますが,これはコミットに必要なIDのようなものだそうです。

どうやらこのIDは,他のコミットとIDがかぶってはいけないらしく,このように訳の分からない文字列となっているようです。


コミットした人と,コミットした日時

Author: 名前 <メールアドレス>
Date:   Wed Sep 4 23:08:51 2013 +0900

次に,git logコマンド実行結果においてIDの下に表示されている2行の文字列は,見ての通りコミットをした人の名前,メールアドレスコミットした日付を表しているそうです。


コミットのメッセージ

    initial commit

名前,メールアドレス,日付の下には,改行を一つ挟んで, 前回のgitの勉強で入力したとおり,initial commitというメッセージが表示されています。

今はまだ1回しかコミットを行っていないので,このメッセージが表示されてもあまり恩恵がないのですが,これからバージョンが増えてくるにつれてコミットを何回も繰り返してくると,「一番最初のソースコードはどれだっけ?」って状態になってきます。 そんなときにこの「initial commit」というメッセージを見ると,「あぁこれが一番最初の状態なんだ!」というふうになるようです。

つまり,このメッセージはちゃんとわかりやすいものにしておかないと,後々大変な事になります。


git log コマンドのオプション

git logコマンドには,いくつかオプションが用意されているらしいです。 特に便利なものを3つほど紹介します。

  • onelineオプション
$ git log --oneline
bc333a8 initial commit

git logコマンドにオプションとして↑のようにonelineを指定すると,IDの上位7文字とメッセージを1行で表示出来るようです。

  • pオプション
$ git log -p
commit bc333a879a35668b05156bfca4d0ccddb78a1ed6
Author: 名前 <メールアドレス>
Date:   Wed Sep 4 23:08:51 2013 +0900

    initial commit

diff --git a/index.html b/index.html
new file mode 100644
index 0000000..d241ff8
--- /dev/null
+++ b/index.html
@@ -0,0 +1,2 @@
+line 1
+

git logコマンドにpオプションを指定すると,コミットの情報に加えて,実際になにがどう変更されているのかを表示できるようです。

といわれてもやっぱりかなりマニアックな内容らしく,私もあまり詳しくはわかりませんでした。 これはとても便利なオプションらしいのですが,私のようなgit初心者はまだ覚える必要ないかもしれません。

  • statオプション
$ git log --stat
commit bc333a879a35668b05156bfca4d0ccddb78a1ed6
Author: mejiro <hoge@gmail.com>
Date:   Wed Sep 4 23:08:51 2013 +0900

    initial commit

 index.html |    2 ++
 1 file changed, 2 insertions(+)

これはpオプションと少しにているようですが,pオプションは「なにがどう変更されたか」を表示しているのに対し,statオプションは「どのファイルが何箇所変わったか」というのを表示できるようです。

実行結果を見ると,index.htmlに2行追加されたことが確認できます。 今のところはファイルを1つしか変更していないので,あまり良さが分かりませんが,ファイルが増えてくると,とても便利なオプションになるようです。

こちらのほうがpオプションよりもわかりやすく,私のような初心者には扱いやすそうです。


以上でget logコマンドを使用して,ログを確認する方法がだいたいまとまったかなと思ってます。

とりあえず今日の内容としては,onelineオプションとstatオプションを覚えておけば大丈夫そうです。


ひとこと

前回のgit勉強内容まとめの記事について,何人かの方からはてなスターを頂きました。 スターくださった方ありがとうございました。

これからもgitだけでなくいろいろなツールやプログラミングに関することを,勉強&ブログにまとめていけたらと思っています。


参考ページ ドットインストールgit入門