lazygit 是 GitHub 星標超過 82,000 顆的開源 Git 終端介面,以 Go 語言撰寫,將版本控制的日常操作收斂到鍵盤驅動的文字介面。該專案由開發者 Jesse Duffield 於 2018 年建立,採 MIT 授權開放原始碼,設計目標是讓暫存檔案、互動式 rebase、cherry-pick 與 bisect 等原本需要背誦指令或手動編輯檔案的流程,轉化為幾個按鍵即可完成的動作。截至 2026 年 9 月,該專案仍維持每週多次提交的更新節奏,最新版本為 v0.65.0。

lazygit 是以 Go 撰寫的開源 Git 終端介面,GitHub 星標逾 8.2 萬,採 MIT 授權,把暫存、rebase 與 cherry-pick 化為鍵盤面板。

lazygit 是什麼?為何被稱為 Git 的終端介面?

lazygit 是運行在終端機內的 Git 文字介面,將檔案、分支、提交與儲藏等狀態分成面板顯示,使用者以快捷鍵完成檢視差異、暫存與提交。

lazygit 把 Git 的狀態與操作拆解成多個可切換的面板,涵蓋檔案、分支、提交、儲藏與工作區等檢視。使用者在同一個畫面內即可檢視差異、暫存變更、建立提交與推送分支,無須反覆輸入指令或切換視窗。專案在 README 的「Elevator Pitch」段落中直接點出設計動機:Git 本身功能強大,但互動式 rebase 需要在編輯器裡手動編輯待辦檔案,部分暫存則要逐段挑選區塊,這些流程對日常使用者而言負擔偏高,因此該專案選擇把步驟可視化。

安裝管道是它能夠快速普及的關鍵。專案以單一 Go 二進位檔發佈,無須額外執行環境,並提供 Homebrew、MacPorts、Scoop、Winget、APT、DNF、Nix、Conda、Go 與 Chocolatey 等套件管理器安裝方式,桌面使用者亦可直接下載獨立執行檔;終端環境另支援 FreeBSD 與 Android 的 Termux。這種幾乎覆蓋所有主流平台的發佈策略,讓開發者能在既有工作環境中直接替換操作方式,而不必重新配置工具鏈。

lazygit 有哪些核心功能與操作方式?

lazygit 支援逐行暫存、互動式 rebase、cherry-pick、bisect 與 commit graph,全部以快捷鍵在面板內完成。

逐行暫存是該介面最常被提及的功能。使用者把游標移到目標行後按空白鍵即可只暫存該行,或以 v 選取一段行範圍、以 a 選取整個區塊;這解決了命令列環境下必須逐段挑選差異的痛點。互動式 rebase 同樣被重新設計:按 i 進入 rebase 模式後,可對提交執行 squash、fixup、drop、edit,或以 ctrl+k、ctrl+j 上下移動順序,最後以 m 開啟選項選單並繼續流程。這些動作也能作為單次操作直接執行,不必先明確啟動 rebase。

其餘功能延續相同思路。cherry-pick 以 shift+c 複製提交、shift+v 貼上;bisect 在提交檢視中按 b 標記好壞版本後自動開始二分搜尋;commit graph 以視覺化方式呈現分支與合併歷史;compare 功能可並列比較兩個提交。專案另支援 worktree 管理、以分支名稱篩選 worktree 面板、自訂指令(custom commands)與 undo 機制,讓實驗性操作可回溯。進階使用者還可透過設定檔調整鍵位、差異顯示方式與自訂指令的上下文驗證。

lazygit 與命令列 Git 工作流程有何差異?

兩者底層同為 Git,但 lazygit 以可視化面板取代指令記憶,降低 rebase 與部分暫存的門檻;熟悉命令列者則保有更高腳本化彈性。

兩者的差異不在功能覆蓋範圍,而在操作路徑。命令列版本要求使用者記住參數組合,並在需要精細控制時手動編輯中間檔案;lazygit 則把每個中間狀態呈現為可瀏覽的清單。這種差異在衝突處理與 rebase 過程中最為明顯:命令列環境下必須先理解狀態機才能安全操作,文字介面則會保留已解決的衝突檔案、自動選取衝突提交,並在 rebase 暫停時維持上下文。

代價是自動化能力受限。需要寫入 CI 流程、批次腳本或遠端無人環境時,命令列仍是唯一選擇,lazygit 本身也建立在 Git 指令之上,並未取代底層工具。實務上兩者常並存:日常互動式整理提交與分支切換以文字介面完成,可重複的流程則回歸腳本。專案在 README 中亦保留替代方案段落,明示其定位為互動式前端,而非 Git 的替代品。

lazygit 的 v0.65.0 更新有哪些重點?

v0.65.0 於 2026 年 9 月 5 日發佈,重點在修正非聚焦視窗的顯示、改善 rebase 衝突選取與 worktree 篩選,並修好非同步差異渲染的閃爍問題。

最新版本 v0.65.0 於 2026 年 9 月 5 日發佈,屬於以穩定度為主的維護版本。更新內容包括視窗失去焦點時改以較不活躍的外觀繪製介面、rebase 停止時自動選取衝突提交、衝突檔案解決後仍保留顯示,以及允許在 worktree 面板中依分支名稱篩選。使用者亦可直接在鍵位與最近儲存庫選單中輸入文字進行篩選,減少層層尋找的成本。

修復項目集中在渲染與選取行為。官方說明指出,此次修正了非同步差異渲染造成的閃爍、滾動異常與崩潰問題,並改善 rebase 待辦項目移動時的視覺錯位;另修正選取目錄時的重新命名顯示、自訂指令中 context 欄位的名稱驗證,以及若干選取反白的邊界情況。維護層面則將 gofumpt 升級至 0.11.0、golangci-lint 升級至 v2.12.2,並避免格式化工具誤動其他 worktree。

lazygit 的數據表現如何?

lazygit 於 GitHub 累積 82,196 星標與 3,031 次複製,採 MIT 授權,以 Go 為主要語言,建立於 2018 年 5 月,最新版本 v0.65.0。

82.2K
GitHub 星標
3,031
Forks
MIT
開源授權
Go
主要語言
v0.65.0
最新版本
2018-05
建立時間

lazygit README 開頭(項目名稱 lazygit 與標語 A simple terminal UI for git commands,並顯示提交與推送的操作示範動畫)

lazygit GitHub 首頁頂部(repo 名 jesseduffield/lazygit、Star 82.2k 與項目描述)

lazygit 專案統計頁(顯示星標與複製數的成長曲線,以及 Go 語言與 MIT 授權標示)

出處連結有哪些?

本文資訊來源為 lazygit 的 GitHub 儲存庫(jesseduffield/lazygit)及官方 README,包含星標數、版本號與功能說明等資料。

出處連結:lazygit GitHub 儲存庫。專案以 MIT 授權開放,發佈管道涵蓋 GitHub Releases 與各大套件管理器;README 另詳列功能示範、鍵位配置、自訂指令與常見問題。本文引用的星標數、複製數、授權類型、建立時間與 v0.65.0 更新內容,均取自 GitHub 公開頁面與官方發佈說明,讀者可經由上述連結查閱原始資料。

總結:lazygit 適合什麼團隊?

lazygit 適合日常以終端機工作、經常處理 rebase 與部分暫存的開發者;需要腳本化或遠端無人操作的情境,仍應以命令列為主。

lazygit 的價值集中在互動式版本控制操作。當團隊成員頻繁整理提交歷史、處理合併衝突或需要只暫存檔案中的部分變更時,文字介面能顯著降低操作門檻,並減少因指令參數錯誤而造成的風險。單一二進位檔、跨平台套件覆蓋與 MIT 授權,也讓它在企業內部推廣時幾乎沒有授權或部署阻力。

限制同樣明確。該工具無法取代 Git 的腳本化能力,在 CI 流程、自動化部署或無人值守環境中並不適用;偏好純鍵盤指令、已建立個人肌肉記憶的資深使用者,導入後亦未必感受到明顯效益。整體而言,lazygit 以逾 8.2 萬星標與長期穩定的維護節奏,已成為終端機開發環境中值得列入評估的 Git 前端選項。