2014年7月15日 星期二

Git 指令筆記 - 命令列下的樹狀圖

雖然現在有很多具有 GUI 的 git 工具可以用,多人可以畫出清楚漂亮的樹狀圖, 可是很不巧的,因為我的系統還是 windows XP,綜合費用、系統支援,及實際安裝使用之後, 我的電腦上幾乎都有或大或小的問題,所以大部份的狀況我還是透過 command line 來使用 git。
不過在 GUI 上可以畫出來的樹狀圖,在終端機上卻一直不知道該怎麼讓它呈現出來?即使已經有了心理準備,知道它也許畫出來並不好看,但至少應該可以畫出來。
查了 git log --help,只找到了 --graph 的選項,但它只能畫出目前所在的 branch,
所以多半只有一條直線,也沒什麼好需要樹狀圖的。

$ git log --graph
* commit 6d222c3908373bfd42b4749c58a9b662425347af
| Author: 
| Date:   Tue Apr 8 15:47:53 2014 +0800
|
|     ......................
|
* commit ab9883131cbd6fc42756ea842cd4611f09c198ee
  Author: 
  Date:   Thu Apr 3 16:07:13 2014 +0800

      .....................
 
最後網路上找到了正解,原來需要加上參數 "--all"。
  git log --graph --all

*   commit b1a3d7feaf69040ab6ada771637d8a0ba5985398
|\  Merge: ff10745 c2d893f
| | Author:
| | Date:   Tue Nov 26 18:47:49 2013 +0800
| |
| |     ..................
| |
| |
| * commit c2d893fd801d5a05db63811696a3ca8cff30a84e
| | Author: 
| | Date:   Tue Nov 26 18:27:08 2013 +0800
| |
| |     ........................
| |
| * commit a26ac59bdb12ca135385a180b6107655c806cf3a
| | Author: 
| | Date:   Tue Nov 26 18:20:39 2013 +0800
| |
| |     .....................
| |
* |   commit ff107450383b63c557351ea41080e70f9f3f5a7f
|\ \  Merge: 4172577 23d1abf
| | | Author: 
| | | Date:   Mon Nov 25 15:20:38 2013 +0800
| | |
| | |     .................................................
| | |
這樣它就會列出所有的 branch。
但是你可能會覺得它列出的資訊太多,太佔畫面,
那可以再加上一個參數 "--oneline"

git log --graph --oneline --all

這樣它就會只列出一行資訊。 

* c168e76 .....................
* f62d25f .....................
* b94c7ab  .....................
*   b1a3d7f .....................
|\
| * c2d893f ....................
| * a26ac59 ....................
* |   ff10745 .........................
|\ \
| * | 23d1abf .............
* | | 4172577 ........
|/ /
* | 3aa4d49 ..............
|/
*   d98aa31 ................
|\
| * fff5349 .................
| * 197b28e .............
| * 66a2843 ..............

沒有留言:

張貼留言