lazygit一個(gè)git管理工具帘靡,喜好用終端管理工程代碼的朋友领突,可以嘗試。其他可視化工具可以用SourceTree碱蒙。
官網(wǎng)地址: GITHUB
特性/優(yōu)勢(shì)
- 輕松添加文件
- merge沖突處理
- 輕松切換分支
- 瀏覽diffs(branch挪凑、commits孕索、stash)
- 快速push/pull
- 壓縮/修改commit
如何使用
安裝(Homebrew方式)
brew tap jesseduffield/lazygit
brew install lazygit
其他方式參考官網(wǎng)。
注意: 簡(jiǎn)書(shū)不支持下面的語(yǔ)法躏碳,更好的效果請(qǐng)見(jiàn): github
常用快捷鍵
- 全局
<pre>
<kbd>←</kbd><kbd>→</kbd><kbd>↑</kbd><kbd>↓</kbd>/<kbd>h</kbd><kbd>j</kbd><kbd>k</kbd><kbd>l</kbd>: 切換模塊(導(dǎo)航)
<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>
- 狀態(tài)面板
<pre>
<kbd>e</kbd>: 編譯配置信息
<kbd>o</kbd>: 打開(kāi)配置信息
</pre>
- 文件面板
<pre>
<kbd>space</kbd>: 文件的暫存狀態(tài)切換
<kbd>a</kbd>: 所有文件暫存/不暫存
<kbd>c</kbd>: 提交
<kbd>shift</kbd>+<kbd>C</kbd>: 使用編輯器提交
<kbd>shift</kbd>+<kbd>S</kbd>: 儲(chǔ)蓄文件
<kbd>t</kbd>: 添加補(bǔ)丁 (i.e. pick chunks of a file to add)
<kbd>o</kbd>: 打開(kāi)
<kbd>e</kbd>: 編輯
<kbd>s</kbd>: sublime方式打開(kāi) (requires 'subl' command)
<kbd>v</kbd>: vscode方式打開(kāi) (requires 'code' command)
<kbd>i</kbd>: 添加到.gitignore
<kbd>d</kbd>: 刪除沒(méi)有tracked的文件/ checkout tracked的文件
<kbd>shift</kbd>+<kbd>R</kbd>: 刷新文件
<kbd>shift</kbd>+<kbd>A</kbd>: 終止merge
</pre>
- 分支面板
<pre>
<kbd>space</kbd>: 切換分支
<kbd>f</kbd>: 強(qiáng)制切換分支
<kbd>m</kbd>: merge到當(dāng)前打開(kāi)分支
<kbd>c</kbd>: 輸入分支名稱方式checkout
<kbd>n</kbd>: 新建分支
<kbd>d</kbd>: 刪除分支
<kbd>D</kbd>: 強(qiáng)制刪除分支
</pre>
- Commits面板
<pre>
<kbd>s</kbd>: 壓縮commits (僅對(duì)第一個(gè)commit有效)
<kbd>r</kbd>: commit重命名
<kbd>shift</kbd>+<kbd>R</kbd>: 使用編輯器重命名commit
<kbd>g</kbd>: 重置到某個(gè)commit
</pre>
- 儲(chǔ)蓄面板
<pre>
<kbd>space</kbd>: 應(yīng)用
<kbd>g</kbd>: 推出
<kbd>d</kbd>: 刪除
</pre>
- 彈出面板
<pre>
<kbd>esc</kbd>: 關(guān)閉/取消
<kbd>enter</kbd>: 確認(rèn)
<kbd>tab</kbd>: 換行 (編譯狀態(tài)下)
</pre>
- 處理合并沖突(Diff面板zz)
<pre>
<kbd>←</kbd><kbd>→</kbd>/<kbd>h</kbd><kbd>l</kbd>: 導(dǎo)航/移動(dòng)
<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