lazygit
ofollow,noindex">lazygit 一個git管理工具,喜好用終端管理工程程式碼的朋友,可以嘗試。其他視覺化工具可以用SourceTree 。
特性/優勢
- 輕鬆新增檔案
- merge衝突處理
- 輕鬆切換分支
- 瀏覽diffs(branch、commits、stash)
- 快速push/pull
- 壓縮/修改commit
如何使用
安裝(Homebrew方式)
brew tap jesseduffield/lazygit brew install lazygit
其他方式參考官網。
注意: 簡書不支援下面的語法,更好的效果請見:github
常用快捷鍵
- 全域性
<pre>
<kbd>←</kbd><kbd>→</kbd><kbd>↑</kbd><kbd>↓</kbd>/<kbd>h</kbd><kbd>j</kbd><kbd>k</kbd><kbd>l</kbd>:切換模組(導航)
<kbd>PgUp</kbd>/<kbd>PgDn</kbd> or <kbd>ctrl</kbd>+<kbd>u</kbd>/<kbd>ctrl</kbd>+<kbd>d</kbd>:瀏覽diff
面板
(for <kbd>PgUp</kbd> and <kbd>PgDn</kbd>, use <kbd>fn</kbd>+<kbd>up</kbd>/<kbd>fn</kbd>+<kbd>down</kbd> on osx)
<kbd>q</kbd>:退出
<kbd>p</kbd>:pull
<kbd>shift</kbd>+<kbd>P</kbd>:push
</pre>
- 狀態面板
<pre>
<kbd>e</kbd>:編譯配置資訊
<kbd>o</kbd>:開啟配置資訊
</pre>
- 檔案面板
<pre>
<kbd>space</kbd>:檔案的暫存狀態切換
<kbd>a</kbd>:所有檔案暫存/不暫存
<kbd>c</kbd>:提交
<kbd>shift</kbd>+<kbd>C</kbd>: 使用編輯器提交
<kbd>shift</kbd>+<kbd>S</kbd>: 儲蓄檔案
<kbd>t</kbd>:新增補丁 (i.e. pick chunks of a file to add)
<kbd>o</kbd>:開啟
<kbd>e</kbd>:編輯
<kbd>s</kbd>:sublime方式開啟 (requires 'subl' command)
<kbd>v</kbd>:vscode方式開啟 (requires 'code' command)
<kbd>i</kbd>:新增到.gitignore
<kbd>d</kbd>:刪除沒有tracked的檔案/ checkout tracked的檔案
<kbd>shift</kbd>+<kbd>R</kbd>: 重新整理檔案
<kbd>shift</kbd>+<kbd>A</kbd>: 終止merge
</pre>
- 分支面板
<pre>
<kbd>space</kbd>:切換分支
<kbd>f</kbd>:強制切換分支
<kbd>m</kbd>:merge到當前開啟分支
<kbd>c</kbd>:輸入分支名稱方式checkout
<kbd>n</kbd>:新建分支
<kbd>d</kbd>:刪除分支
<kbd>D</kbd>:強制刪除分支
</pre>
- Commits面板
<pre>
<kbd>s</kbd>:壓縮commits (僅對第一個commit有效)
<kbd>r</kbd>:commit重新命名
<kbd>shift</kbd>+<kbd>R</kbd>: 使用編輯器重新命名commit
<kbd>g</kbd>:重置到某個commit
</pre>
- 儲蓄面板
<pre>
<kbd>space</kbd>:應用
<kbd>g</kbd>:推出
<kbd>d</kbd>:刪除
</pre>
- 彈出面板
<pre>
<kbd>esc</kbd>:關閉/取消
<kbd>enter</kbd>:確認
<kbd>tab</kbd>:換行 (編譯狀態下)
</pre>
- 處理合並衝突(Diff面板zz)
<pre>
<kbd>←</kbd><kbd>→</kbd>/<kbd>h</kbd><kbd>l</kbd>: 導航/移動
<kbd>↑</kbd><kbd>↓</kbd>/<kbd>k</kbd><kbd>j</kbd>: 選擇大塊
<kbd>space</kbd>:選擇某塊衝突
<kbd>b</kbd>:選擇全部
<kbd>z</kbd>:回撤 (only available while still inside diff panel)
</pre>
其他
視訊教程參考:here