Git示例教程 – 命令行中圖形化顯示提交日誌

  • 2019 年 10 月 31 日
  • 筆記

相關命令:

# 圖形化顯示當前分支的提交日誌  git log --graph --oneline    # 圖形化顯示當前分支的提交日誌及每次提交的變更內容  git log --graph --patch    # 圖形化顯示所有分支的提交日誌  git log --graph --oneline --all    # 圖形化顯示所有分支的提交日誌及每次提交的變更內容  git log --graph --patch --all

效果演示:

我們先用下面的命令創建一個測試用的Git倉庫:

# 創建一個空的Git倉庫  mkdir repo && cd repo && git init    # master分支提交m1  echo m1 > m1.txt && git add . && git commit -m m1    # b分支提交b1、b2  git checkout -b b  echo b1 > b1.txt && git add . && git commit -m b1  echo b2 > b2.txt && git add . && git commit -m b2    # 切換到master分支  git checkout master    # master分支提交m2  echo m2 > m2.txt && git add . && git commit -m m2    # 合併b分支  git merge b --no-edit    # master分支提交m3、m4  echo m3 > m3.txt && git add . && git commit -m m3  echo m4 > m4.txt && git add . && git commit -m m4    # b分支提交b3、b4  git checkout b  echo b3 > b3.txt && git add . && git commit -m b3  echo b4 > b4.txt && git add . && git commit -m b4    # 切換到master分支  git checkout master

先看下當前分支提交日誌的圖形化效果:

$ git -P log --graph --oneline  * 1b95716 (HEAD -> master) m4  * 9629016 m3  *   960ae54 Merge branch 'b'  |  | * 5c4e7a0 b2  | * 82e6569 b1  * | cec7a59 m2  |/  * 3706b17 m1

再看下所有分支提交日誌的圖形化效果:

$ git -P log --graph --oneline --all  * 85cf84a (b) b4  * 6c72eb7 b3  | * 1b95716 (HEAD -> master) m4  | * 9629016 m3  | *   960ae54 Merge branch 'b'  | |  | |/  |/|  * | 5c4e7a0 b2  * | 82e6569 b1  | * cec7a59 m2  |/  * 3706b17 m1

最後看下當前分支每次提交的變更內容:

$ git -P log --graph --patch  * commit 1b9571692938cae69e4cb6f1c90195629b99ee14 (HEAD -> master)  | Author: wangyuntao <[email protected]>  | Date:   Tue Oct 29 17:58:06 2019 +0800  |  |     m4  |  | diff --git a/m4.txt b/m4.txt  | new file mode 100644  | index 0000000..995fb87  | --- /dev/null  | +++ b/m4.txt  | @@ -0,0 +1 @@  | +m4  |  * commit 96290165e6cf0869a7cb5f74dd84596e5b156017  | Author: wangyuntao <[email protected]>  | Date:   Tue Oct 29 17:58:06 2019 +0800  |  |     m3  |  | diff --git a/m3.txt b/m3.txt  | new file mode 100644  | index 0000000..e5c9ce9  | --- /dev/null  | +++ b/m3.txt  | @@ -0,0 +1 @@  | +m3  |  *   commit 960ae547f7751191c9d30e17eac2fbb85589d778  |  Merge: cec7a59 5c4e7a0  | | Author: wangyuntao <[email protected]>  | | Date:   Tue Oct 29 17:58:06 2019 +0800  | |  | |     Merge branch 'b'  | |  | * commit 5c4e7a015a519e60134fe2d7895590a756887d4b  | | Author: wangyuntao <[email protected]>  | | Date:   Tue Oct 29 17:58:06 2019 +0800  | |  | |     b2  | |  | | diff --git a/b2.txt b/b2.txt  | | new file mode 100644  | | index 0000000..e6bfff5  | | --- /dev/null  | | +++ b/b2.txt  | | @@ -0,0 +1 @@  | | +b2  | |  | * commit 82e6569460ce15d46b5f7d44fa4b68080bf952a6  | | Author: wangyuntao <[email protected]>  | | Date:   Tue Oct 29 17:58:06 2019 +0800  | |  | |     b1  | |  | | diff --git a/b1.txt b/b1.txt  | | new file mode 100644  | | index 0000000..c9c6af7  | | --- /dev/null  | | +++ b/b1.txt  | | @@ -0,0 +1 @@  | | +b1  | |  * | commit cec7a592810edb921e602c214881e3e8d37bb449  |/  Author: wangyuntao <[email protected]>  |   Date:   Tue Oct 29 17:58:06 2019 +0800  |  |       m2  |  |   diff --git a/m2.txt b/m2.txt  |   new file mode 100644  |   index 0000000..08bb233  |   --- /dev/null  |   +++ b/m2.txt  |   @@ -0,0 +1 @@  |   +m2  |  * commit 3706b17072a7eb78f8093b36774c63fbcd9dc106    Author: wangyuntao <[email protected]>    Date:   Tue Oct 29 17:58:06 2019 +0800          m1      diff --git a/m1.txt b/m1.txt    new file mode 100644    index 0000000..63a911f    --- /dev/null    +++ b/m1.txt    @@ -0,0 +1 @@    +m1

以上命令是不是比直接用git log命令直觀多了呢?

好了,命令行中圖形化顯示提交日誌的內容到這裡就結束了,希望對你有所幫助。

Git相關的示例教程我都整理到了一個GitHub倉庫:

https://github.com/wangyuntao/git-by-example