Lazygitは、Gitの操作をターミナル内でキーボードだけで完結できるTUI(ターミナルUI)型のGitクライアントです。ステージング・コミット・ブランチ操作・プッシュ/プルといった日常の作業を、長いコマンドを覚えずワンキーで実行できます。特にWindowsでは、管理者権限なしで導入できるScoopやwingetに対応しており、PATHの手動設定も不要です。
本記事では、Windows・macOS・Linuxそれぞれのインストール手順から、起動方法と基本的な使い方、ショートカットキー一覧、config.ymlによるカスタマイズ、cherry-pickやrebaseといった応用操作までをまとめて解説します。キー割り当ては公式リポジトリのキーバインド一覧(Keybindings_en.md)と突き合わせ、2026年9月時点の最新版であるv0.65系の挙動に合わせて記載しています。
まとめ:Lazygitの導入と基本操作の要点
LazygitはGit操作をターミナル内でキーボードだけで完結できるTUIクライアントです。導入から基本操作までの要点は次のとおりです。
- インストール:Windowsは
winget install -e --id=JesseDuffield.lazygit(ScoopやChocolateyも可)、macOSはbrew install lazygit、Linuxはsnap install lazygit --classicやUbuntu 25.10以降のapt install lazygitで導入できます。 - 起動:Gitリポジトリのルートで
lazygitと実行するだけで画面が立ち上がります。 - 基本操作:スペースキーでステージ、cキーでコミット、Pキー(大文字)でプッシュ、pキー(小文字)でプル、qキーで終了します。大文字と小文字で動作が逆になる点が最初の関門です。
- 一時退避:ファイルパネルでsキーを押すとstashに退避し、スタッシュパネルでgキーを押すとpop(復元して削除)できます。
- カスタマイズ:設定ファイル config.yml でショートカットキーやテーマ、パネルのレイアウトを変更できます。ステータスパネルでeキーを押すと、そのconfig.ymlが外部エディタで開きます。
- バージョン:2026年9月時点の最新リリースはv0.65系です。キー割り当ては版によって入れ替わるため、手元の版の
?キー(キーバインドメニュー)を正とします。
以下で、各OSのインストール手順・画面構成・ショートカット・応用操作を詳しく見ていきます。
LazygitとはどんなGitクライアントか|TUIで完結する仕組みと開発体制
LazygitはGo言語で書かれたオープンソースのTUI型Gitクライアントで、日々のGit操作を視覚的かつキーボード操作のみで進められるツールです。長いコマンドを覚えなくても、ステージングやコミット、ブランチ操作、プッシュ/プルなどの基本的なGit作業を直感的なインターフェースで行えます。リポジトリの状態やファイルの変更、ブランチ一覧、コミットログなどが複数のパネルに分かれて表示されるため、状況の把握にかかる時間が短くなります。
GUIツールへ切り替えずに作業を終えたい開発者や、ターミナル操作に慣れているユーザーからの評価が高いツールです。作者はJesse Duffield氏で、開発はGitHubの公式リポジトリで続いており、新機能や修正が継続してリリースされています。
Lazygitの成り立ちとGo言語で実装されたTUIという設計
Lazygitの名前には「怠け者(lazy)でも使えるGitツール」という意味合いが込められています。複雑なGitコマンドを覚えなくても直感的に操作できるよう設計されており、開発者の作業負荷を下げる方向にふりきった作りです。Go言語で実装されているため単一バイナリで配布でき、WindowsやmacOS、Linuxなどクロスプラットフォームで同じ操作感になります。依存ランタイムを別途入れる必要がない点が、チームへ配る際の負担を軽くします。
GUIクライアントやCLI単体と比べたときの操作コストの違い
Lazygitを使う利点は、ターミナル内でGUI並みの視認性を得ながら、マウスに触れずに作業が完結する点にあります。複数のペインでファイル差分やブランチ情報を一覧できるため、いま何がステージされているのかを見失いません。キーボードのみで操作できるので、コマンドを一つずつタイピングする手間も減ります。素のGitコマンドで同じことをする場合の書式はGitコマンド一覧|用途別早見表とよく使う基本コマンドの使い方にまとめてあるので、Lazygitのキーが裏側でどのコマンドを呼んでいるのかを対応づけながら読むと理解が早くなります。
Lazygitが解決するGit操作の手間と具体的な効果の出方
Lazygitでは、特定のコミットを現在のブランチに取り込むcherry-pickや、過去のコミットを修正・並べ替えるrebaseといった操作も、GUIライクなインターフェースから実行できます。ステージングとアンステージングはスペースキー、コミットはcキー、プッシュはPキーというように、コマンド入力なしで一連の作業が終わります。効果が出やすいのは、1日に何十回もステージとコミットを繰り返す実装フェーズです。逆に、月に数回しかGitに触らない運用では体感差が小さくなります。
日常の開発でLazygitが向くユースケースと採用に向かない場面
Lazygitは、ブランチ作成からコミット、プッシュまで日々の開発作業で幅広く使えます。新機能開発時に複数のファイルを部分的にステージしてコミットしたり、差分を確認しながら必要な変更だけを保存したりといった使い方が代表的です。複数のリモートブランチが混在するプロジェクトでも、視覚的に状況を把握しながら切り替えやマージを進められます。一方で、CIスクリプトの中でGit操作を自動化したい場面や、巨大なモノレポでファイル一覧を俯瞰したい場面では、素のGitコマンドや専用のGUIを併用したほうが速く終わります。
公式リポジトリでのリリース版の確認方法|現行の安定版v0.65系
Lazygitはオープンソースソフトウェアであり、GitHub上に公式リポジトリが公開されています。最新のリリース情報やインストール手順、ドキュメントの参照先は、すべてこのリポジトリ内です。GitHub Releasesの最新タグを見ると、2026年9月時点ではv0.65系が最新の安定版として配布されています。キー割り当てや設定キー名は版のあいだで変わることがあるため、記事や書籍の記述と挙動が食い違うときは、まず手元の版を lazygit --version で確かめてください。
Lazygitの画面構成と5つのパネルの役割|操作前に確認する情報の見え方
Lazygit起動後の画面は、左側に複数のパネルが縦に並び、右側に詳細情報が表示されるレイアウトです。左側パネルは上から順にステータス、ファイル、ブランチ、コミット、スタッシュの5つが配置され、数字キーの1から5でそれぞれにジャンプできます。この数字キーは公式Config.mdの keybinding.universal.jumpToBlock に既定値として定義されており、設定ファイルでの変更も可能です。右側の広いパネルには、左側で選択した項目の差分やコミットメッセージが出ます。
ステータスパネル:リポジトリ全体の状態確認と設定ファイルの入口
ステータスパネルには、現在チェックアウトしているブランチ名とリポジトリ名が表示されます。ここでconfig.ymlを外部エディタで開くための操作が、eキーです。uキーを押すと更新の有無を確認でき、Enterキーで最近開いたリポジトリの一覧に切り替わります。設定を触りたくなったときの入口がこのパネルだと覚えておくと、設定ファイルのパスを調べ直す手間がなくなります。
ファイルパネル:変更ファイル一覧からのステージングや破棄の操作
ファイルパネルには、ワークツリーで変更されたファイルの一覧が表示されます。対象のファイルを選択してスペースキーを押すとステージ状態がトグルし、全ファイルのステージ状態を一括でトグルする操作はaキーです。Enterキーを押すと行単位でステージできる画面に移り、そこでもスペースキーでハンクや行を選択できます。dキーは破棄の選択肢を開き、バッククォートキーでフラット表示とツリー表示を切り替えられます。
コミットパネル:ローカルのコミット履歴の閲覧とメッセージの編集
コミットパネルには現在のブランチのコミット履歴が新しい順に並びます。各コミットにはメッセージと日時が表示され、リストから選択してEnterキーを押したときに右側へ出るのは、そのコミットの差分です。ここではAキーでamend、rキーでコミットメッセージの書き換え、dキーでコミットの削除(drop)といった編集がその場で行えます。CLIでリベース用のTODOファイルを編集する手順を踏まずに済むのが、このパネルの値打ちです。
ブランチパネルとスタッシュパネル:ブランチ切り替えと一時退避の操作
ブランチパネルでは、ローカルとリモートのブランチ一覧をタブで切り替えながら確認できます。スペースキーで選択中のブランチをチェックアウトし、新規ブランチを作成する操作はnキー、削除の選択肢を開く操作はdキーです。スタッシュパネルには一時退避した内容が並び、スペースキーでapply(適用のみ)、gキーでpop(適用して削除)、dキーでdrop(破棄)を使い分けます。applyとpopの違いを取り違えるとstashが残り続けるので、ここは最初に手を動かして確かめておくと安全です。
WindowsへのLazygit導入|winget・Scoop・Chocolatey
Windowsで公式に利用できるパッケージマネージャーは、以下の3つです。winget-pkgsのマニフェストにパッケージ識別子 JesseDuffield.lazygit が登録されているため、Windows 11やWindows 10の標準機能だけで導入が完結します。管理者権限を使えない端末ではScoop Extrasバケットのlazygit.jsonが扱いやすく、既存の社内標準がChocolateyならChocolateyのlazygitパッケージを使います。
REM wingetで導入(Windows 11 ・ Windows 10 標準搭載)
winget install -e --id=JesseDuffield.lazygit
REM Scoopで導入(管理者権限が不要・lazygitはextrasバケット)
scoop bucket add extras
scoop install lazygit
REM Chocolateyで導入(管理者権限のPowerShellで実行)
choco install lazygit
REM 導入確認
lazygit --version
手動で入れる場合は、GitHub Releasesから lazygit_x.y.z_Windows_x86_64.zip のようなZIPをダウンロードして展開し、実行ファイルを環境変数PATHの通ったフォルダに置きます。この方法は更新のたびに手作業が発生するため、継続して使う端末ではパッケージマネージャー経由を選んでおくほうが運用は軽くなります。
Lazygitを動かす前提となるGit本体とターミナルの準備
LazygitはGit本体を呼び出して動くラッパーなので、Git for WindowsなどのGitがPATH上にある必要があります。未導入の場合は先にGit本体を入れてください。導入手順と版ごとの変更点はGit for Windows v2.53.0とは|新機能・ダウンロード・インストール手順で扱っています。表示については、既定のコンソールよりWindows Terminalのほうが罫線と色の再現が安定します。
Windows環境で起きやすい文字化けと表示崩れの原因別の対処
Windowsで枠線が崩れたり記号が四角で表示されたりする場合、原因はフォントとコードページの二択であることが多いです。Nerd Fontsのアイコンを使う設定にしている場合は、config.ymlの gui.nerdFontsVersion を導入済みフォントの世代(”3″ など)に合わせます。日本語のコミットメッセージが化けるときは、ターミナルの文字コードをUTF-8にそろえ、Gitの core.quotepath を false にすると日本語ファイル名がそのまま読めるようになります。
macOSとLinuxのインストール手順|Homebrew・apt・Snap・Goビルド
macOSではHomebrewの公式formulaが用意されており、1コマンドで導入できます。Linuxでの導入経路は、ディストリビューションごとに異なる仕組みです。LaunchpadのUbuntuソースパッケージを見ると、Ubuntu 25.10(questing)以降は公式リポジトリにlazygitが収録されており、apt install lazygit がそのまま通ります。Debianも13(trixie)以降が対象です。それ以前のバージョンではSnapcraftのlazygitやGoのツールチェーンを使います。
REM macOS(Homebrew)
brew install lazygit
REM Ubuntu 25.10以降 ・ Debian 13以降
sudo apt install lazygit
REM Snapで導入(ディストリビューション非依存)
sudo snap install lazygit --classic
REM Goのツールチェーンから最新版をビルド
go install github.com/jesseduffield/lazygit@latest
REM 導入確認
lazygit --version
ディストリビューションのリポジトリに入っている版は、GitHub Releasesの最新版より数世代古いことがあります。2026年9月時点ではUbuntu 25.10が0.53系、Debian 13が0.50系、開発版のsidが0.57系という配布状況で、最新のv0.65系とは差があります。新しいキーバインドや設定キーを試したい場合は、Goビルドか公式バイナリを選んでください。
ソースコードからのビルドとチーム内でバージョンを固定したいときの選択
LazygitはGo言語で開発されているため、Goのツールチェーンが入っていればソースからビルドできます。go install github.com/jesseduffield/lazygit@latest を実行すると、実行ファイルの作成先はGOPATH配下のbinディレクトリです。@latest の部分を @v0.65.1 のようにタグ指定へ置き換えると、チーム内で版をそろえられます。CIやコンテナイメージへ組み込む場合は、この固定指定にしておくと再現性が保てます。
インストール後の確認とアップデート:リリース版の追い方と切り戻し
導入が終わったら lazygit --version で版を確かめます。アップデートはパッケージマネージャー側の更新コマンド(brew upgrade lazygit、scoop update lazygit、choco upgrade lazygit など)を使う方法です。ステータスパネルでuキーを押すと更新の有無をその場で確認できます。挙動が変わって困ったときは、GitHub Releasesのリリースノートで該当バージョンの変更点を読み、必要なら1つ前のタグへ戻すのが手順としては最短です。
起動から初回コミットまでの基本操作|ステージ・コミット・プッシュ
Lazygitの基本操作はシンプルです。インストール後、Gitリポジトリのルートディレクトリでターミナルから lazygit と入力すれば起動します。起動するとパネルにリポジトリの状態が表示されるので、あとはキーボード操作で目的の作業を進める流れです。ここでは、変更したファイルをステージしてコミットし、リモートへ反映するまでの一連を順に見ていきます。
Lazygitの起動方法とGitリポジトリ外で起動したときの挙動
Git管理下のフォルダに移動し、ターミナルで lazygit コマンドを実行します。表示された画面の左側に並ぶのはステータスやファイル一覧、右側に並ぶのは差分などです。Gitリポジトリではないディレクトリで起動した場合は、そこに新しいリポジトリを作るか確認するプロンプトが出ます。意図せずリポジトリを作らないよう、起動前にカレントディレクトリを確かめておくと事故を避けられます。
ファイルステージングの手順|変更を行単位で選んでステージへ送る操作
ファイルパネルで変更されたファイルを選択し、スペースキーを押すとステージングエリアに追加されます。アンステージに戻す操作は、同じスペースキーをもう一度押すだけです。複数ファイルをまとめて扱う場合はaキーで全件をトグルします。ファイルをEnterキーで開くと行単位の画面に移り、そこでスペースキーを押すと選択中の行やハンクだけをステージすることが可能です。hキーとlキーでハンクを移動し、vキーで範囲選択に切り替えられるので、git add -p 相当の作業がマウスなしで終わります。
コミット作成と直前コミットの修正|cキーとAキーの目的別の使い分け
ステージングされた変更をコミットするには、cキーを押します。コミットメッセージ入力モードに切り替わるので、メッセージを入力し、Enterキーで確定してください。pre-commitフックを飛ばしたいときはwキー、gitの既定エディタでメッセージを書きたいときはCキー(大文字)を使います。直前のコミットにステージ済みの変更を足したい場合は、ファイルパネルまたはコミットパネルでAキー(大文字)を押すとamendになります。
変更内容の確認方法|diff表示とコミットログによる差分の読み方
ファイルパネルでEnterキーを押すと右側に変更差分が出て、変更箇所を見ながらステージできます。コミットパネルでコミットを選択してEnterキーを押すと、次に表示されるのは、そのコミットに含まれるファイル一覧です。/キーで現在のビューをテキスト検索でき、該当箇所へすばやくジャンプできます。差分の前後に表示する行数は、中括弧キーで増減できるので、文脈が足りないときはその場で広げてください。
リモートリポジトリとの連携|PキーとpキーはGit本体と同じ向き
リモートとの同期はグローバルキーで行います。Pキー(大文字)がプッシュ、pキー(小文字)がプルです。upstreamが未設定のブランチでは、どのリモートとブランチに紐づけるかを尋ねるプロンプトが出ます。fキーはファイルパネルからのfetchで、リモートの状態だけを取り込んでワークツリーは触りません。大文字と小文字の向きは公式のキーバインド一覧で確認できるので、記憶があいまいなときは ? キーでキーバインドメニューを開くのが確実です。
Lazygitのショートカットキー一覧|公式キーバインド表から主要操作を抜粋
Lazygitでは多数のキーボードショートカットが用意されています。以下の表は公式のKeybindings_en.mdに記載された内容から、日常の頻度が高いものを抜き出したものです。同じキーでもパネルによって動作が変わる点に注意してください。
グローバルとパネル移動のショートカット|どの画面でも効くキー
| キー | 動作 |
|---|---|
| P | 現在のブランチをプッシュ |
| p | リモートからプル |
| R | Gitの状態を再読み込み |
| m | マージやリベースの続行操作 |
| : | 任意のシェルコマンド実行 |
| ? | キーバインドメニューを表示 |
| q | Lazygitを終了 |
| 1から5 | 各パネルへジャンプ |
| Tab | 次のパネルへ移動 |
| jとk | リスト内を上下に移動 |
| / | 現在のビューを検索 |
| v | 範囲選択の切り替え |
ファイルパネルのショートカット|ステージと破棄とstashの操作
| キー | 動作 |
|---|---|
| Space | ステージ状態をトグル |
| a | 全ファイルを一括トグル |
| Enter | 行単位のステージ画面へ |
| c | コミット作成 |
| w | フック省略でコミット |
| A | 直前コミットにamend |
| d | 変更の破棄メニュー |
| s | 全変更をstashへ退避 |
| S | stashの選択肢を表示 |
| e | 外部エディタで開く |
| i | gitignoreへ追加 |
| f | リモートからfetch |
コミットパネルのショートカット|コミット履歴の並べ替えと書き換え
| キー | 動作 |
|---|---|
| s | 下のコミットへsquash |
| f | 下のコミットへfixup |
| r | メッセージを書き換え |
| R | エディタで書き換え |
| d | コミットを削除(drop) |
| e | 選択位置からリベース開始 |
| i | ブランチ全体をリベース |
| A | 選択コミットへamend |
| t | revertコミットを作成 |
| C | cherry-pick用にコピー |
| V | コピー分をペースト |
| Ctrl+jとCtrl+k | コミットを上下へ移動 |
ブランチとスタッシュのショートカット|切り替えと変更の退避の操作
| キー | パネル | 動作 |
|---|---|---|
| Space | ブランチ | チェックアウト |
| n | ブランチ | 新規ブランチ作成 |
| c | ブランチ | 名前を入力して切替 |
| d | ブランチ | 削除の選択肢を表示 |
| M | ブランチ | 現在のブランチへマージ |
| r | ブランチ | 選択ブランチへリベース |
| f | ブランチ | upstreamから早送り |
| o | ブランチ | プルリクエストを作成 |
| w | ブランチ | ワークツリーを新規作成 |
| Space | スタッシュ | apply(適用のみ) |
| g | スタッシュ | pop(適用して削除) |
| d | スタッシュ | drop(破棄) |
Lazygitでのブランチ作成からプルリクエスト作成までの一連の操作手順
ここでは、実際の開発でよく行う流れを順に追います。ブランチを切り、変更をステージしてコミットし、リモートへプッシュしてレビュー依頼を出すまでを、すべてLazygitの画面内で完結させる手順です。ブランチの命名や運用ルールそのものはGitブランチとは|種類とブランチ戦略をわかりやすく解説の考え方に沿って決めておくと、チームで揃います。
新しいブランチを作成して作業を開始するまでのnキーによる操作手順
3キーでブランチパネルへ移動し、nキーを押します。新しいブランチ名の入力が促されるので、名前を入力してEnterキーで確定してください。この操作で新規ブランチが作られると同時に、そのブランチへ切り替わります。すでにコミットを積んでしまってからブランチを切り忘れたことに気づいた場合は、Nキー(大文字)で未プッシュのコミットごと新しいブランチへ移せます。
ブランチ切り替えとプル|作業開始前にリモートの変更を取り込む手順
別のブランチへ切り替えるときは、ブランチパネルで目的のブランチを選択してスペースキーを押します。ブランチ数が多いリポジトリでは、cキーで名前を直接入力するほうが、目的のブランチへ素早く移動できる方法です。切り替える前にpキーでリモートの変更を取り込んでおくと、あとからコンフリクトに悩む場面が減ります。fキーを押すと、チェックアウトせずに選択中のブランチをupstreamへ早送りできます。
変更のステージングとコミット|作業単位でコミットを分ける操作手順
ファイルに変更を加えたら、ファイルパネルで対象を選択してスペースキーでステージします。問題なければcキーでコミットモードに入り、メッセージを入力し、Enterキーで確定してください。1つの作業に無関係な変更が混ざっているときは、Enterキーで行単位の画面へ入り、必要な行だけを選んでコミットを分けてください。行単位のステージがキーだけで終わるのは、Lazygitがもっとも効く場面の1つです。
コミット内容の修正と再コミット|履歴やメッセージに誤りがあった場合の直し方
コミットに誤りがあった場合は、コミットパネルで該当コミットを選択してAキーを押すとamendになります。HEADのコミットなら git commit --amend 相当の処理が走り、それより古いコミットならリベース経由で修正が適用されます。メッセージだけを直したいときはrキーを押し、エディタで書きたいときに使うのはRキーです。プッシュ済みのコミットを書き換えると強制プッシュが必要になるため、共有ブランチでは慎重に判断してください。
プッシュとプルリクエスト作成|GitHub連携はghコマンドが前提
ローカルの変更をリモートへ反映するには、Pキー(大文字)を押します。upstreamが未設定なら紐づけ先を尋ねられるので、指示に従って紐づけ先を確定してください。プッシュ後、ブランチパネルでoキーを押すとプルリクエストの作成画面がブラウザで開きます。ブランチパネルにプルリクエストの状態アイコンを出す機能を使う場合は、GitHub CLIの導入と gh auth login の実行が前提です。導入手順はghコマンド(GitHub CLI)とは?インストール方法と使い方にまとめてあります。
cherry-pick・rebase・マージ・stashの応用操作と使用キー
Lazygitには、通常のコミットやマージ以外にも踏み込んだGit機能が備わっています。ここではcherry-pickやrebaseといった作業をどのキーで行うかを中心に見ていきます。いずれもCLIではコミットハッシュの確認やTODOファイルの編集が必要になる操作で、Lazygitとの差が出やすい領域です。
cherry-pickの操作方法|Cキーでのコピーから取り込みまでの手順
取り込みたいコミットをコミットパネルで選択し、Cキー(大文字)を押すとコピー済みとしてマークされます。複数コミットを選びたいときは、vキーで範囲選択に切り替えてから同じ操作をしてください。次にブランチパネルで取り込み先のブランチをチェックアウトし、コミットパネルへ戻ってVキー(大文字)を押すと、コピーしたコミットが適用されます。選択を取り消したいときはEscキー、コピー状態をまとめてリセットしたいときはCtrl+rを使ってください。
rebaseの操作方法|eキーとiキーで始めるインタラクティブ操作
コミット履歴を整理したい場合は、コミットパネルで起点となるコミットを選択してeキーを押します。ブランチ上のコミット全体を対象にするならiキーです。リスト上でsキーを押すと選択中のコミットを下のコミットへsquashし、fキーならメッセージを捨ててfixupします。削除に使うのはdキー、順序の入れ替えに使うのはCtrl+jとCtrl+kです。操作を並べ終えたらmキーでリベースを続行します。コミットを束ねる粒度の考え方はgit commitが多すぎる時の対処法|squash・fixupでまとめる手順で扱っているので、履歴を整える基準づくりに使ってください。
マージ操作とコンフリクト解消|Mキーでの統合とmキーによる続行
マージはブランチパネルから行います。まず統合先のブランチをチェックアウトし、取り込みたいブランチを選択してMキー(大文字)を押すと、表示されるのは通常マージかsquashマージかを選ぶメニューです。コンフリクトが起きた場合は、ファイルパネルで対象ファイルを選んでEnterキーを押すと、衝突したハンクを1つずつ選んで解消する画面に移ります。すべて解消したらmキーでマージを続行し、やり直したいときは同じメニューからabortを選びます。
stash機能の応用|sキーでの変更の退避とgキーによる復元の使い分け
作業途中の変更を退避したいときは、ファイルパネルでsキーを押します。ワークツリーの変更がstashへ保存され、作業前の状態に戻ります。ステージ済みだけ、未ステージだけといった細かい退避をしたい場合は、Sキー(大文字)で選択肢を開いてください。戻すときはスタッシュパネルへ移り、スペースキーでapply、gキーでpopを選びます。nキーを押すと、その退避内容から新しいブランチを作ることもできます。
ワークツリーの作成|ブランチを切り替えずに並行作業するための操作
ブランチパネルでwキーを押すと、選択中のブランチからワークツリーを作成してそちらへ移動します。stashやWIPコミットを挟まずに複数ブランチを並行して進められるため、レビュー対応と実装を行き来する場面に向く機能です。作成したワークツリーはワークツリーパネルから切り替えや削除ができます。ワークツリー自体の仕組みと削除時の注意点はGit Worktree(ワークツリー)とは|使い方・削除とSubmoduleとの違いを参照してください。
config.ymlの場所と書き方|キー割り当て・配色・レイアウトの変更
Lazygitは設定ファイルで細かく調整できます。既定の置き場所は公式Config.mdに明記されており、OSごとに異なります。Linuxは ~/.config/lazygit/config.yml、macOSは ~/Library/Application Support/lazygit/config.yml、Windowsは %LOCALAPPDATA%\lazygit\config.yml です。macOSを ~/.config 配下に寄せたい場合は、環境変数 XDG_CONFIG_HOME をホーム直下の .config に設定します。
設定ファイルの開き方と記述の基本|YAMLでの表示設定と階層の書き方
パスを調べなくても、ステータスパネルでeキーを押せばconfig.ymlが外部エディタで開きます。ファイルが無い場合は既定値で動くため、変えたい項目だけを書けば足ります。以下は表示まわりとエディタ連携、パネル移動キーをまとめて指定した例です。
gui:
sidePanelWidth: 0.3333
mainPanelSplitMode: flexible
showFileTree: true
nerdFontsVersion: "3"
theme:
activeBorderColor:
- green
- bold
selectedLineBgColor:
- default
os:
editPreset: 'vscode'
keybinding:
universal:
jumpToBlock:
- "1"
- "2"
- "3"
- "4"
- "5"
キー名は版によって追加や整理が入るため、書いた設定が効かないときは公式Config.mdで現行のキー名を確認してください。YAMLのインデント崩れでも黙って既定値に戻るので、反映されない場合は階層も疑う対象になります。
ショートカットキーの割り当て変更|他ツールとのキーの衝突への対処
キー割り当ては keybinding セクションで変更できます。universal は全パネル共通、files や commits はパネル個別の指定です。ターミナルマルチプレクサやエディタと衝突するキーがある場合は、ここで別のキーへ逃がします。無効化したい操作には <disabled> を指定してください。変更後は ? キーのキーバインドメニューに反映されるので、設定が効いたかどうかをその場で確かめられます。
テーマと配色の変更|選択行の見え方を端末の環境に合わせる設定方法
配色は gui.theme 以下で指定します。フォーカス中のウィンドウの枠線色は activeBorderColor、選択行の背景色は selectedLineBgColor で、それぞれ色名と装飾を配列で並べる形式です。背景を塗らずに太字だけで選択行を示したい場合は、selectedLineBgColor に default を指定します。背景色が端末のテーマと干渉して読みにくいときは、reverse を指定する書き方も公式ドキュメントに載っています。
外部コマンドの割り当て|customCommandsでの独自操作の追加
Lazygitは customCommands で任意のシェルコマンドをキーへ割り当てられます。パネルを表す context と、Goテンプレートで選択中の項目を参照する記法の組み合わせです。次の例は公式のCustom_Command_Keybindings.mdに載っている書き方で、ファイルパネルのaキーにステージ状態のトグルを割り当てています。
customCommands:
- key: 'a'
context: 'files'
command: "git {{if .SelectedFile.HasUnstagedChanges}} add {{else}} reset {{end}} {{.SelectedFile.Name | quote}}"
description: 'Toggle file staged'
- key: 'C'
context: 'global'
command: "git commit"
output: terminal
割り当てた独自コマンドは、既存のキーバインドと並んで ? キーのメニューに表示されます。プロンプトで入力値を受け取る書き方も用意されているため、ブランチ命名規則の入力補助などをチーム内で配る運用も可能です。書き方の詳細は公式のCustom_Command_Keybindings.mdにまとまっています。
複数の設定ファイルの切り替え|共通設定と案件ごとの設定の分け方
設定ファイルは --use-config-file オプション、または環境変数 LG_CONFIG_FILE で差し替えられます。カンマ区切りで複数を並べると、後ろのファイルの内容が前のファイルへ上書きされる形で合成される仕組みです。共通設定と案件別設定を分けておけば、明るい端末と暗い端末でテーマだけを切り替えるといった運用ができます。
REM 共通設定にテーマ設定を重ねて起動する
lazygit --use-config-file="$HOME/.base_lg_conf,$HOME/.light_theme_lg_conf"
REM 環境変数で指定する場合
export LG_CONFIG_FILE="$HOME/.base_lg_conf"
lazygit
他のGitクライアントとの比較とLazygitを採用する条件・見送る場面
Lazygitの利点は、ターミナル中心でありながら視覚的な情報も得られる点にあります。キーボードだけで作業が完結するので、マウスへ手を移す回数が減り、実装中の集中が途切れにくくなります。ただし、どのチームにも当てはまる万能の選択ではありません。ここでは他のツールとの違いと、採用・見送りの線引きを条件付きで示します。
GUIクライアントやエディタ拡張との違い|操作方法とリモート開発の比較
SourceTreeやGitKrakenのようなGUIクライアントは、履歴グラフの見やすさとマウス操作の分かりやすさが強みです。一方でウィンドウの切り替えが発生し、リモート接続先の開発では使えません。VS Code上で履歴を見たいだけならエディタ拡張という選択もあり、その使い勝手はGit Graphの使い方|VS Codeでコミット履歴・ブランチを可視化で比較できます。Lazygitはターミナル内で完結するため、SSH越しのサーバーやコンテナ内でも同じ操作感で使える点が差になります。
Lazygitの採用に必要な3条件|ターミナル操作・コミット頻度・Gitの理解
次の3条件がそろうチームでは、導入の効果が出やすくなります。第1に、開発者が日常的にターミナルを開いており、SSHやコンテナ越しの作業が一定割合を占めること。第2に、1日のコミット回数が多く、行単位のステージやコミットの整理が日常作業に入っていること。第3に、Git本体のコマンドと概念をメンバーが理解しており、キー操作が何を実行しているか説明できること。3つ目が欠けた状態で配ると、事故のリカバリができないメンバーが出ます。
導入を見送るべき場面|ブランチ戦略やレビュー手順の整備が必要な場合
Gitの運用ルールが固まっていないチームでは、ツール導入より先にブランチ戦略とレビュー手順を決めるほうが効果が大きくなります。また、共有ブランチへの強制プッシュを禁止していない状態でrebaseやamendが手軽になると、履歴の破壊が起きやすくなります。GUIでの可視化を前提に非エンジニアがリポジトリを触っている場合も、キー操作前提のツールは合いません。ターミナル操作そのものに不慣れなメンバーが多い場合は、まずGitコマンドの習得から始めるほうが順序として無理がありません。
Lazygitの限界とCLIツールならではの学習コストや操作上の注意点
Lazygitにも弱点があります。まず、キー割り当てを覚えるまでの学習コストがかかり、大文字と小文字で動作が変わるキーは取り違えの原因になります。次に、ファイルツリー全体を一画面で俯瞰する用途には向きません。大規模なモノレポではパネルの切り替え回数が増え、かえって時間がかかる場合もあります。さらに、版によってキー割り当てが変わるため、社内手順書に書いたキーが将来ずれる前提で運用する必要があります。
チームへ配るときの進め方|開発環境の標準化と版の固定・設定の共有
個人の道具として入れるだけなら判断は軽く済みますが、チーム標準にするなら版の固定・config.ymlの共有・手順書の更新をセットで決めておきます。開発環境の標準化やCI連携まで含めて社内に定着させたい場合は、外部の手を借りて型を作ってから内製へ渡す進め方も選択肢です。当社では保守運用・内製化支援で、開発環境やリリース手順の整備とドキュメント化、運用の引き継ぎまで対応しています。現状の手順をそのまま持ち込んでいただければ、どこから手を付けるかの整理からご相談いただけます。
Lazygitでつまずきやすい箇所と対処|起動しない・キーが効かない
導入直後によく出る症状は、原因の切り分け方さえ分かれば短時間で片付きます。ここでは問い合わせが多い4パターンを挙げ、確認する順番とともに整理します。
コマンドが見つからない場合の対処|PATHとシェルの再読み込みの確認
インストール直後に lazygit が見つからない場合、多くはPATHが現在のシェルに反映されていないことが原因です。ターミナルを開き直すか、シェルの設定ファイルを読み込み直してください。Goビルドで入れた場合は、GOPATH配下のbinディレクトリがPATHに含まれているかも確認します。それでも解決しないときは、パッケージマネージャーが実際にどこへ実行ファイルを置いたかを確かめるのが近道です。
キーを押しても反応がない場合の対処|パネルとモードの取り違えの確認
同じキーでもパネルごとに動作が異なるため、意図した操作が走らないときは現在フォーカスしているパネルを確かめます。? キーを押せば、いま有効なキーバインドだけが一覧で出ます。範囲選択モードやリベースの途中では利用できるキーが変わるので、Escキーでいったん通常状態へ戻してから操作し直してください。設定ファイルでキーを変更している場合は、その記述が効いていないかも確認対象になります。
プッシュが拒否される|upstream未設定と強制プッシュの扱い
Pキーを押しても反映されない場合、upstreamが未設定かリモート側が進んでいるかのどちらかです。前者はプロンプトに従ってリモートとブランチを指定します。後者はpキーで先に取り込んでから再度プッシュしてください。rebaseやamendで履歴を書き換えた後は、強制プッシュを求められます。Lazygitは force-with-lease を使う選択肢を出すので、他の人の変更を消さないためにも、単純な強制上書きではなくこの選択肢を選んでください。
エディタが開かない場合の対処|editPresetと環境変数の設定確認
eキーでファイルを開こうとしたときにエディタが起動しない場合は、config.ymlの os.editPreset に vscode や nvim といったプリセットを指定します。プリセットに無いエディタを使うなら、起動コマンドを直接書く設定項目も用意されています。環境変数のGIT_EDITORやEDITORを見ているケースもあるため、どちらの設定が効いているかを切り分けてから直すと迷いません。
よくある質問
WindowsにLazygitをインストールするには?
Windowsではパッケージマネージャーでの導入が簡単です。管理者権限が不要なScoopなら scoop bucket add extras の後に scoop install lazygit(lazygitはextrasバケットにあります)、公式のwingetなら winget install -e --id=JesseDuffield.lazygit、Chocolateyなら choco install lazygit で導入できます。手動で入れる場合は公式リリースページからWindows用のZIPをダウンロードして展開し、実行ファイルを環境変数PATHの通ったフォルダに配置します。いずれの場合も、Git本体が別途PATH上に必要です。
LinuxやUbuntuでLazygitをインストールするには?
Ubuntu 25.10(およびDebian 13)以降は公式リポジトリに含まれ sudo apt install lazygit で導入できます。それ以前のバージョンでは公式aptには無いため、Snap(sudo snap install lazygit --classic)、コミュニティPPA、またはGitHubリリースのバイナリやGo(go install github.com/jesseduffield/lazygit@latest)で導入します。ディストリビューション収録版は最新版より古いことが多く、2026年9月時点ではUbuntu 25.10が0.53系です。
Lazygitでプッシュとプルはどちらのキーですか?
大文字のPがプッシュ、小文字のpがプルです。どちらもパネルを問わず効くグローバルキーで、upstreamが未設定のブランチでは紐づけ先を尋ねるプロンプトが出ます。大文字と小文字で逆の動作になるため、記憶があいまいなときは ? キーでキーバインドメニューを開いて確かめてください。なお、リモートの状態だけを取り込むfetchはファイルパネルのfキーです。
Lazygitを終了するには?
qキーを押すと終了します。コミットメッセージの入力モードやサブ画面を開いているときは、Escキーで一つ前の画面に戻ってからqキーを押してください。Ctrl+cでも終了できます。リベースやマージの途中でそのまま閉じるとGit側の状態が残るため、mキーのメニューでcontinueかabortを選んでから終了するほうが安全です。
設定ファイル(config.yml)はどこにありますか?
Linuxでは ~/.config/lazygit/config.yml、macOSでは ~/Library/Application Support/lazygit/config.yml、Windowsでは %LOCALAPPDATA%\lazygit\config.yml が既定の場所です。パスを調べなくても、ステータスパネルでeキーを押せば外部エディタで開きます。macOSで ~/.config 配下に置きたい場合は、環境変数 XDG_CONFIG_HOME を設定してください。
作業中の変更を一時退避(stash)するには?
ファイルパネルでsキーを押すと、ワークツリーの全変更がstashへ退避され、作業前の状態に戻ります。ステージ済みだけ、未ステージだけといった退避をしたい場合はSキー(大文字)で選択肢を開いてください。復元するときはスタッシュパネル(5キー)で対象を選び、gキーでpop(適用して削除)、スペースキーでapply(適用のみ)、dキーでdrop(破棄)を使い分けます。
キー割り当てが記事や手順書と違うのはなぜですか?
Lazygitは版によってキー割り当てが入れ替わることがあるためです。古い記事ではstashがwキー、cherry-pickのコピーがcキーと書かれていることがありますが、現行版ではそれぞれsキーとCキーです。手元の版は lazygit --version で確認でき、その版で有効なキーは ? キーのキーバインドメニューに出ます。公式のKeybindings_en.mdはmasterブランチの内容なので、安定版と差がある場合はメニュー側を正としてください。
関連記事
- Gitコマンド一覧|用途別早見表とよく使う基本コマンドの使い方を解説
- Git for Windows v2.53.0とは|新機能・ダウンロード・インストール手順を解説
- ghコマンド(GitHub CLI)とは?インストール方法と使い方・主要コマンド一覧
- Git Graphの使い方|VS Codeでコミット履歴・ブランチを可視化する拡張機能
- Git Worktree(ワークツリー)とは|使い方・削除(add/remove/prune)とSubmoduleとの違い
- Gitブランチとは|種類(feature/develop/release/hotfix)とブランチ戦略をわかりやすく解説
- git commitが多すぎる時の対処法|squash・fixupでコミット履歴をまとめる手順と粒度の基準