Git 倉庫視覺化
在本文中,我們將瞭解如何獲得倉庫的視覺化。我們將使用 git log
命令檢視倉庫的拓撲結構。
視覺化 Git 倉庫
大多數使用 Git 的開發人員將大部分時間花在 bash
終端上。一個簡單的 git log
命令將列出你的所有提交。
但是,很難為你的倉庫開發一個心智模型。其他人可能會發現很難理解你的工作流程。
幸運的是,你可以使用方法來視覺化你的倉庫,我們將在稍後介紹。
在下面的示例中,我們使用 git log --oneline --all
檢視倉庫的歷史記錄。
pc@JOHN MINGW64 ~/Git (main)
$ git log --oneline --all
e923721 (refs/stash) WIP on main: 78129a6 Revert "$git status"
032ee0a index on main: 78129a6 Revert "git status"
78129a6 (HEAD -> main, New_Branch, Last_Branch, Branch1) Revert "$git status"
195e5c3 git status
7b19db4 first commit
b2f7710 (origin/main) Initial commit
以上只是一個簡單的平面檢視。你可以新增 --graph
引數以獲得更好的檢視。
然後你的命令應該是 git log --oneline --all --graph
。
例子:
pc@JOHN MINGW64 ~/Git (main)
$ git log --oneline --all --graph
* e923721 (refs/stash) WIP on main: 78129a6 Revert "git status"
|\
| * 032ee0a index on main: 78129a6 Revert "git status"
|/
* 78129a6 (HEAD -> main, New_Branch, Last_Branch, Branch1) Revert "git status"
* 195e5c3 $git status
* 7b19db4 first commit
* b2f7710 (origin/main) Initial commit
這看起來更好,但我們可以進一步識別分支和標記標籤。
我們在以下上下文中使用 --decorate
引數。
git log --oneline --all --graph --decorate
你還可以新增 --color
引數以使佈局在以下上下文中更好。
git log --oneline --all --graph --decorate --color
每當你想視覺化你的倉庫時,鍵入它是一個相當長的命令。通過為你的命令分配別名來使自己更容易,如下所示。
在下面的示例中,我們將為 git log --oneline --all --graph --decorate --color
命令賦予別名 glt
。
pc@JOHN MINGW64 ~/Git (main)
$ alias glt='git log --oneline --decorate --graph --all'
讓我們使用別名執行命令。
pc@JOHN MINGW64 ~/Git (main)
$ alias glt
alias glt='git log --oneline --decorate --graph --all'
pc@JOHN MINGW64 ~/Git (main)
$ glt
* e923721 (refs/stash) WIP on main: 78129a6 Revert "$git status"
|\
| * 032ee0a index on main: 78129a6 Revert "$git status"
|/
* 78129a6 (HEAD -> main, New_Branch, Last_Branch, Branch1) Revert "$git status"
* 195e5c3 $git status
* 7b19db4 first commit
* b2f7710 (origin/main) Initial commit
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn