不記得Git命令? 懶人版Git值得擁有!
Git的強大是所有開發者都心知肚明的事情,但是其多樣的命令令人很是難受。不過在Github上有著這么一個開源項目lazygit[1]。
Lazygit是由Jesseduffield開發并維護的項目,其代碼托管在Github。通過使用Lazygit,我們可以更加便捷的去控制和維護項目。
值得一提的是,Lazygit被加入了最基本的鼠標控制支持。如果你想要了解更多有關Lazygit的特性,請訪問https://youtu.be/CPLdltN7wgE[2]。
如何安裝?
Lazygit給出了多種安裝方式和平臺支持,你可以使用如下命令去嘗試安裝該應用程序。
Homebrew
通常可以在 Homebrew 核心中找到lazygit 安裝包,但還是建議按照指令以獲取經常更新的安裝包,指令也適用于 Linux。
Tap:
- brew install jesseduffield/lazygit/lazygit
Core:
- brew install lazygit
Ubuntu
已棄用: 將不再接收更新。
Packages for Ubuntu are available via Launchpad PPA[3].
- sudo add-apt-repository ppa:lazygit-team/release
- sudo apt-get update
- sudo apt-get install lazygit
Scoop (Windows)
可以通過使用 scoop [4]安裝lazygit:
- scoop bucket add extras
- scoop install lazygit
Fedora and CentOS 7
Fedora 和 CentOS 7 的軟件包可通過Copr[5](Cool Other Package Repo)獲得。
- sudo dnf copr enable atim/lazygit -y
- sudo dnf install lazygit
Go
- go install github.com/jesseduffield/lazygit@latest
Lazygit的基本操作
在安裝完成后,你可以在某個本地的Git倉庫中使用lazygit命令來打開Lazygit控制臺:
$ lazygit
如果你認為這條命令有點麻煩,你可以添加alias別名echo "alias lg='lazygit'" >> ~/.zshrc,后面的文件取決于你所使用中的終端。
快捷鍵綁定
可以在此處[6]查看鍵綁定列表。
在打開Lazygit之后我們很容易就能看到最下方的幫助信息。
使用PgUp鍵向上滾動
使用PgDn鍵向下滾動
使用x鍵打開菜單
使用↑↓←→鍵來控制光標
并且我們可以使用鼠標來控制界面焦點。
添加到暫存區
將焦點轉移到Files區,在需要的文件點擊即可添加到暫存區。如果需要從緩存區移除這個文件,只需要再次點擊即可。
文件Commit
同樣是將焦點轉移到Files區,將需要進行Commit操作的文件添加到暫存區(文件名變綠),按x鍵進入菜單,選中自己所需要的Commit方式,回車輸入Commit內容即可。
項目Push
在將需要進行Push操作的文件添加到暫存區后按x打開菜單,選中Push,輸入對應信息即可。
項目Pull
打開菜單選中Pull即可進行遠程倉庫拉取操作。
退出時更改目錄
如果要在lazygit 中更改repos 并希望 shell 在退出lazygit 時將目錄更改為該repo,需要將其添加到~/.zshrc(或其他rc 文件)中:
lg()
{
export LAZYGIT_NEW_DIR_FILE=~/.lazygit/newdir
lazygit "$@"
if [ -f $LAZYGIT_NEW_DIR_FILE ]; then
cd "$(cat $LAZYGIT_NEW_DIR_FILE)"
rm -f $LAZYGIT_NEW_DIR_FILE > /dev/null
fi
}
然后source ~/.zshrc從現在開始,當調用lg并退出時,將切換目錄到所在lazigt 中的任何內容。要覆蓋此行為,通過使用 usingshift+Q可以退出目錄.
撤銷重做
查看文檔[7]
配置
查看配置文檔[8]
自定義命令
如果lazygit 缺少某個功能,可以使用自定義命令實現
查看文檔[9]
Resolving merge conflicts
Interactive Rebasing
本地調試lazygit --debug在一個終端選項卡和另一個終端選項卡中運行以lazygit --logs并排查看程序及其日志輸出
參考資料
[1]lazygit: https://github.com/jesseduffield/lazygit[2]https://youtu.be/CPLdltN7wgE: https://github.com/jesseduffield/lazygit[3]Launchpad PPA: https://launchpad.net/~lazygit-team[4]scoop : https://scoop.sh/[5]Copr: https://copr.fedorainfracloud.org/coprs/atim/lazygit/[6]此處: https://github.com/jesseduffield/lazygit/tree/master/docs/keybindings[7]文檔: https://github.com/jesseduffield/lazygit/blob/master/docs/Undoing.md[8]文檔: https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Pagers.md[9]文檔: https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Command_Keybindings.md