[GIT] git logの履歴をツリー表示

2018年4月4日

git テクノロジー

t f B! P L
gitを使っていると、履歴管理を行う事が楽しくなってくる。 しかし、実際に開発作業を進めていると、GIT管理がうざったくも感じてくる。 この矛盾する感覚は、なんとも言い難いモノづくりのジレンマのようにも思われる。 そうはいっても、GIT管理はとても重要だし、過去履歴を表示する機会も少なくない。

git logは任意branchだけなので少し不便

$ git log commit 2dd181b130b1d8d5dc4119089d2d08530035a1a0 (HEAD -> dev) Merge: 2cfa979d 4f69ca70 Author: geta Date: Mon Apr 2 12:39:22 2018 +0900 SYSTEM/MENU commit 4f69ca703f0cfe07fead02c1a3c62c8760a89e36 (mbp) Author: geta Date: Mon Apr 2 12:33:36 2018 +0900 repaire BLOG/picture commit 2cfa979d0324f44af39da995fd3c5dc81a396418 (mba) Author: geta Date: Mon Apr 2 12:30:13 2018 +0900 repaire BLOG/picture upload commit d63ce1b98da7db173bf32fc4f00822e045cf3a42 Author: geta Date: Sat Mar 31 13:30:57 2018 +0900 ver1.1 : こんな感じでログがどんどん溜まっていきますが、件数が増えると見づらくて仕方ありません。 また、commit時の記述も非常に重要なのは、見てわかる通りです。 commit文の書き方うんぬんをここでは解説しませんが、プロジェクトルールは作っておいた方がよさそうです。 ここでのメンドクサポイントは、git logコマンドでは、単一branchのみの表示になってしまうのと、件数が増えると、見づらくて仕方ありません。 $ git log --oneline 2dd181b1 (HEAD -> dev) SYSTEM/MENU 4f69ca70 (mbp) repaire BLOG/picture 2cfa979d (mba) repaire BLOG/picture upload d63ce1b9 ver1.1 3bd522a4 blog-top このように、--onelineを使ってcommit文のみを見るという手もありますが、最近ようやく--graphの使い方を覚えました。

git log --graphは使わないと損

branchをまたいで、分岐やmergeした事をgraph表示してくれます。 $ git log --graph * commit 2dd181b130b1d8d5dc4119089d2d08530035a1a0 (HEAD -> dev) |\ Merge: 2cfa979d 4f69ca70 | | Author: geta | | Date: Mon Apr 2 12:39:22 2018 +0900 | | | | SYSTEM/MENU | | | * commit 4f69ca703f0cfe07fead02c1a3c62c8760a89e36 (mbp) | | Author: geta | | Date: Mon Apr 2 12:33:36 2018 +0900 | | | | repaire BLOG/picture | | * | commit 2cfa979d0324f44af39da995fd3c5dc81a396418 (mba) | | Author: geta | | Date: Mon Apr 2 12:30:13 2018 +0900 | | | | repaire BLOG/picture upload | | * | commit d63ce1b98da7db173bf32fc4f00822e045cf3a42 | | Author: geta | | Date: Sat Mar 31 13:30:57 2018 +0900 | | | | ver1.1 : ここでも--onelineが役にたちます。 $ git log --graph --oneline * 2dd181b1 (HEAD -> dev) SYSTEM/MENU |\ | * 4f69ca70 (mbp) repaire BLOG/picture * | 2cfa979d (mba) repaire BLOG/picture upload * | d63ce1b9 ver1.1 * | 3bd522a4 blog-top * | a994eab9 top-page add string * | 7a238660 blog:top add blog.css * | a992499e menu-dropdown-sample * | 5d389cd3 system:pageLists * | a3631e36 plugin:blog-edit:top & lists * | c91c8fc4 Modify : sidemenu |/ * 2e930528 system-blog add list-eyecatch * e83be551 blog sort * 3c9af304 header-border none * a988941e seminor 2days. * 68df58d9 update config ver0.0.1 * 634a65ca update contents. * 4a650c66 modify gitignore * 60710612 sql-001 * dea6dff1 (origin/master, origin/HEAD) first-commit 全貌が見えますね。 件数が増えたら確かに辛そうですが、20commitぐらいできちんとmergeしていけば、非常にまとまったlog表示になりそうです。

このブログを検索

プロフィール

自分の写真
プログラミングとサーバーを心の底から楽しむクリエーターです。 経営者であり、開発者でもありますが、得意としているのは、アイデア創出で、出来高は無限大です。

ブログ アーカイブ

QooQ