命令列工具
jesseduffield/lazygit avatar
jesseduffield/lazygit

lazygit:用於 git 指令的簡單終端介面

lazygit 是一個終端介面,用於暫存檔案、檢查差異、管理分支、變基和解決常見 Git 任務。

82,364 個 Star3,037 個 ForkGoMIT
GitHub

秒懂

它是什麼?
以 Go 編寫的終端介面,支援互動式 rebase、逐行暫存和自訂修補程式。
適合誰用?
README 足以說明 lazygit 的功能和安裝方式,但版本細節、發行說明和問題歷史需要查看 repository 的 releases 和 issue tracker。 針對 jesseduffield-lazygit,先依 README 指定的安裝命令、設定檔與輸出逐項核對,再決定是否納入現有流程;這篇文章適合需要理解其實作邊界的工程師,不適合把個人設定或實驗性功能直接當成正式保證的人。
可以商用嗎?
可以。MIT 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
還在維護嗎?
有在維護。儲存庫最近一次提交在 1 天前。
用什麼語言寫的?
主要是 Go(依據 GitHub 的語言統計)。

以上回答依據專案的 GitHub 資料(最近同步於 2026年9月15日)與我們的分析,不構成法律意見。

開源專案深度解析

一個簡單的 git 指令終端介面

此 repository 將 lazygit 描述為一個用 Go 編寫的簡單 git 指令終端介面。README 的開場白直言不諱:git 很強大,但日常操作如互動式 rebase 和暫存檔案的一部分可能非常痛苦。lazygit 被定位為那些希望用 TUI 而不是命令列指令來完成這些操作的人的選擇。README 沒有聲稱任何效能數字或使用者統計。

暫存、rebase 和日常操作

README 用動畫示範了一組日常操作。你可以按空白鍵暫存單行,按 v 選擇範圍,按 a 選擇整個 hunk。互動式 rebase 以 i 開始,然後可以對 待辦 commits 執行 squash、fixup、drop、edit、上移和下移,透過 m 開啟 rebase 選項選單。cherry-pick 是對 commit 的複製和貼上,bisect 從 commits 檢視按 b 開始,reset 選單中的 nuke 選項會清除 git status 顯示的所有內容,包括髒的 submodule。

修補程式、worktree 和復原

除基礎功能外,README 還介紹了一些在命令列上更難完成的操作。可以從舊 commit 建立自訂修補程式,從該 commit 移除修補程式,或反向套用修補程式。可以標記基礎 commit,然後僅將 feature branch 的 commits rebase 到另一個分支。在 branches 檢視中按 w 可以建立 worktree。復原和重做綁定到 z 和 shift+z,README 指出復原使用 reflog,因此無法復原對 working tree 或 stash 的變更。commit graph 按作者著色,並突出顯示所選 commit 的父 commit。比較兩個 commits 時,先用 shift+w 標記一個,再選擇另一個;可以反轉 diff 或按 escape 退出。如果安裝了 gh 工具並完成認證,branches 面板可以顯示 GitHub pull requests。

安裝和發行

README 列出許多安裝路徑:適用於 Windows、macOS 10.12+ 和 Linux 的二進位發行版,以及 Homebrew、MacPorts、Void Linux、Scoop、Arch Linux、Fedora、Amazon Linux 2023、CentOS Stream、Solus、Debian 和 Ubuntu、Funtoo、Gentoo、openSUSE、NixOS、Flox、FreeBSD、Termux、Conda、Go、Chocolatey 和 Winget 的套件。還提到第三方 dev container 功能。README 警告說,這些套件大多由第三方維護,使用者應自行驗證。手動安裝時,README 說可以 clone repository 並執行 go install,或使用 go run main.go 一次編譯並執行。

使用和設定

使用方法很簡單:在 git repository 內的終端機中呼叫 lazygit。可以在 shell 的 rc 檔案中新增像 lg 這樣的別名。README 在單獨的 docs 資料夾中記錄了按鍵綁定,並解釋如何透過設定 LAZYGIT_NEW_DIR_FILE 和使用 shell 函式讓 shell 在退出時切換目錄。設定見 docs/Config.md,還有專門的文件介紹自訂 diff renderer 和自訂指令。如果安裝了 git-flow 工具,lazygit 支援 Gitflow;在 branches 檢視中按 i 可以檢視 Gitflow 選項。README 沒有記錄完整的命令列參數列表,只提到了貢獻部分中的 debug 和 logs 參數。

貢獻、支援和替代方案

此 repository 歡迎貢獻,並提供貢獻指南和 Discord 頻道的連結。對於本地除錯,README 建議在一個終端機中執行 lazygit --debug,在另一個終端機中執行 lazygit --logs,並排檢視程式和日誌輸出。專案有一個贊助頁面,README 請求贊助,因為 lazygit 不是全職工作。FAQ 解釋了 commit 顏色:綠色表示 commit 已包含在 master 分支中,黃色表示未包含在 master 分支中,紅色表示尚未推送到 upstream 分支。README 也列出替代方案:GitUI、tig 和 GitArbor TUI。

授權條款和來源限制

此專案採用 MIT 授權,版權歸 Jesse Duffield 所有(2018)。授權條款授予使用、複製、修改、合併、發布、散佈、再授權和出售軟體副本的權利,但需包含版權和許可聲明。軟體按原樣提供,不提供任何形式的保證。授權條款文字沒有涉及安全狀況、支援承諾或貢獻政策;這些需要檢視 README,而 README 也沒有說明版本歷史或基準測試結果。

jesseduffield-lazygit 的 README 所列內容應視為這個版本的操作邊界。實際閱讀時,先對照專案名稱、命令列入口、設定檔路徑與輸出格式,再檢查環境需求是否吻合。若文件沒有說明某項能力,本文不把它推定為已提供。這個判讀方式特別適合將 jesseduffield-lazygit 放進既有工具鏈前的初步篩選:可以從最小輸入開始,觀察終端輸出、產生的檔案與錯誤訊息,再決定是否擴大使用範圍。

編輯結論

README 足以說明 lazygit 的功能和安裝方式,但版本細節、發行說明和問題歷史需要查看 repository 的 releases 和 issue tracker。 針對 jesseduffield-lazygit,先依 README 指定的安裝命令、設定檔與輸出逐項核對,再決定是否納入現有流程;這篇文章適合需要理解其實作邊界的工程師,不適合把個人設定或實驗性功能直接當成正式保證的人。

官方來源

  1. Official README
  2. Project repository
  3. Release notes
社群筆記

社群筆記