Monors Note

Pythonとそれ以外いろいろ

gitでbranchも含めてtree構造を出す

gitを使っていてbranchも含めてtree構造に出来ればなと思い、調べてみた。 標準のgitに機能が含まれていました。 (参考:gitのrebaseとremoteとbranchと - 日々常々

gitのバージョン

git version 2.9.0.windows.1

branchの構造

masterbugFixの2つのブランチがある。

$ git branch -a
  bugFix
* master

コマンド

$git log --graph --decorate --oneline --all
* 280350c (HEAD -> master) bbbb.txt is modigied
| * 1f8ab7a (bugFix) aaaa.txt is bugFixed
|/
* cd668e3 maked master

git logはlogを見るためのコマンド。

オプションの説明

--graph

logのグラフ化が可能

$ git log --graph
* commit 280350c6abd5fcd5f6713b7dce9736f7141c233e
| Author: user
| Date:   Tue May 1 23:49:29 2018 +0900
|
|     bbbb.txt is modigied
|
* commit cd668e39ad2c4fa3d4bc1108d1ad66567366e1eb
  Author: user
  Date:   Tue May 1 23:40:52 2018 +0900

      maked master

--oneline

ハッシュ値(一意に決まる部分まで)コメントだけのシンプルフォーマットに変換

$ git log --oneline
280350c bbbb.txt is modigied
cd668e3 maked master

--all

全てのブランチを表示する。これがないとheadの場所のlogが表示されるだけ。

commit 280350c6abd5fcd5f6713b7dce9736f7141c233e
Author: user
Date:   Tue May 1 23:49:29 2018 +0900

    bbbb.txt is modigied

commit 1f8ab7a76000ba31e6e4c99d396d624671cacf67
Author: user
Date:   Tue May 1 23:45:34 2018 +0900

    aaaa.txt is bugFixed

commit cd668e39ad2c4fa3d4bc1108d1ad66567366e1eb
Author: user
Date:   Tue May 1 23:40:52 2018 +0900

    maked master

--decorate

(HEAD -> master)など、ブランチの親子関係が表示される。

commit 280350c6abd5fcd5f6713b7dce9736f7141c233e (HEAD -> master)
Author: user
Date:   Tue May 1 23:49:29 2018 +0900

    bbbb.txt is modigied

commit cd668e39ad2c4fa3d4bc1108d1ad66567366e1eb
Author: user
Date:   Tue May 1 23:40:52 2018 +0900

    maked master