メインコンテンツへスキップ
記事一覧に戻る
tools

【2025年版】Lazygit使いこなし術 - Gitを視覚的に操作する最強ツール

Lazygitの使い方を初心者にもわかりやすく解説。コミット、ブランチ操作、リベース、チェリーピックなど、Git操作を劇的に効率化する方法を学びましょう。

2025-11-30T15:01:0012 min readAdabana Saki
-
LazygitGitターミナル開発ツールOmarchy

Lazygit使いこなし術 - Gitを視覚的に操作する最強ツール

Lazygitは、Gitをターミナル上で視覚的に操作できるツールです。

Gitのコマンドを覚えなくても、キーボード操作だけで複雑なGit操作ができるようになります。

この記事では、Lazygitの基本から応用まで、初心者にもわかりやすく解説します。

Lazygitとは?

Gitの課題

Gitは非常に強力なバージョン管理ツールですが、コマンドが複雑です。

# 変更をステージング
git add .

# コミット
git commit -m "メッセージ"

# インタラクティブリベース
git rebase -i HEAD~3

# コンフリクト解決
git add 解決したファイル
git rebase --continue

これらのコマンドを覚えて、正確に入力する必要があります。

Lazygitが解決すること

Lazygitは、これらの操作を視覚的なインターフェースで行えるようにします。

【Lazygitの画面】
┌────────┬───────────────────────────────────────┐
│Status  │                                       │
├────────┤  ファイルの差分がここに表示される      │
│Files   │                                       │
│  M app │  - old line                          │
│  M test│  + new line                          │
├────────┤                                       │
│Branches│                                       │
├────────┤                                       │
│Commits │                                       │
└────────┴───────────────────────────────────────┘

キーを押すだけで操作できる

インストール方法

Omarchyの場合

Omarchyにはプリインストールされています。追加のインストールは不要です。

その他の環境

# macOS
brew install lazygit

# Arch Linux
sudo pacman -S lazygit

# Ubuntu/Debian
sudo add-apt-repository ppa:lazygit-team/release
sudo apt update
sudo apt install lazygit

# Windows (Scoop)
scoop install lazygit

起動方法

# ターミナルから
lazygit

# または短縮形
lg

Neovim(LazyVim)からは:

Space + g + g

画面構成

Lazygitの画面は複数のパネルで構成されています。

┌──────────┬─────────────────────────────────────────────┐
│ 1.Status │                                             │
├──────────┤                                             │
│ 2.Files  │              5.メインパネル                  │
├──────────┤         (差分、ログ、詳細情報)              │
│3.Branches│                                             │
├──────────┤                                             │
│ 4.Commits│                                             │
├──────────┤                                             │
│ 5.Stash  │                                             │
└──────────┴─────────────────────────────────────────────┘
パネル内容
Statusリポジトリの状態
Files変更されたファイル
Branchesブランチ一覧
Commitsコミット履歴
Stashスタッシュ一覧
メイン選択した項目の詳細

パネル間の移動

キー動作
1〜5各パネルに直接移動
h / l左右のパネルに移動
j / k項目を上下に移動
Tab次のパネルへ

基本操作

ファイルのステージング

変更したファイルをコミットするには、まず「ステージング」します。

【Filesパネル】
  M main.py      ← 変更あり(Modified)
  M utils.py     ← 変更あり
  ? new_file.py  ← 新規ファイル(Untracked)
キー動作
Space選択したファイルをステージング/アンステージング
aすべてのファイルをステージング/アンステージング

ステージングされると左側にA(Added)と表示されます:

  A main.py      ← ステージング済み
  M utils.py     ← まだステージングしていない

部分的なステージング(行単位)

ファイル全体ではなく、一部の変更だけをステージングすることもできます。

  1. ファイルを選択してEnterを押す
  2. メインパネルで差分が表示される
  3. ステージングしたい行でSpaceを押す
【差分表示】
  1:  def hello():
- 2:      print("old")     ← この行は削除された
+ 3:      print("new")     ← この行は追加された
  4:      return True

Spaceで行単位、vで範囲選択してステージング
キー動作
Space現在の行をステージング
vビジュアルモード(範囲選択)
aハンク(変更のかたまり)全体をステージング

コミット

ステージングしたファイルをコミットします。

キー動作
cコミット(メッセージ入力画面が開く)
Cコミット(エディタでメッセージ入力)
A直前のコミットを修正(amend)
【コミットメッセージ入力】
┌─────────────────────────────────────┐
│ Commit message:                     │
│ ユーザー認証機能を追加              │
│                                     │
│ Enter to confirm, Esc to cancel    │
└─────────────────────────────────────┘

変更の確認

キー動作
Enter選択項目の詳細を表示
dファイルの変更を破棄(危険!)
D破棄オプションを表示

ブランチ操作

ブランチ一覧

3キーまたはh/lでBranchesパネルに移動します。

【Branchesパネル】
  ✓ main           ← 現在のブランチ
    feature/login
    feature/signup
    develop

基本操作

キー動作
Spaceブランチをチェックアウト
n新規ブランチを作成
dブランチを削除
rブランチ名を変更
M現在のブランチにマージ
R現在のブランチにリベース

新規ブランチの作成

  1. nを押す
  2. ブランチ名を入力
  3. Enterで確定
【新規ブランチ】
┌─────────────────────────────────────┐
│ New branch name:                    │
│ feature/new-feature                 │
└─────────────────────────────────────┘

マージ

  1. マージ先のブランチをチェックアウト(Space
  2. マージ元のブランチを選択
  3. Mを押してマージ
【例:developをmainにマージ】
1. mainをチェックアウト
2. developを選択
3. Mを押す

リベース

リベースは、コミット履歴を整理するための強力な機能です。

インタラクティブリベース

【Commitsパネル】
  abc1234 最新のコミット
  def5678 2番目のコミット
  ghi9012 3番目のコミット    ← このコミットで `e` を押す
キー動作
eリベースを開始(ここから上のコミットを編集)
sスカッシュ(1つ前のコミットと統合)
ffixup(統合してメッセージは捨てる)
rreword(コミットメッセージを変更)
ddrop(コミットを削除)

スカッシュ(コミットの統合)

複数のコミットを1つにまとめます。

【Before】
  abc1234 機能完成
  def5678 typo修正
  ghi9012 さらに修正

【After(スカッシュ後)】
  xyz9999 機能完成

手順:

  1. 統合したいコミットを選択
  2. sを押す
  3. 新しいコミットメッセージを入力

コミットの順序変更

コミットの順序を変更できます。

キー動作
Ctrl + kコミットを上に移動
Ctrl + jコミットを下に移動

チェリーピック

特定のコミットだけを別のブランチに適用します。

手順

  1. コピーしたいコミットを選択
  2. Shift + Cでコピー
  3. 適用先のブランチに移動
  4. Shift + Vで貼り付け
【例】
developブランチのコミット「abc1234」をmainに適用

1. developブランチのabc1234を選択
2. Shift + C
3. mainブランチに移動
4. Shift + V

コンフリクトの解決

マージやリベースでコンフリクト(衝突)が発生した場合の対処法です。

コンフリクトの確認

コンフリクトがあるファイルにはUUと表示されます:

【Filesパネル】
  UU main.py     ← コンフリクトあり

解決手順

  1. コンフリクトのあるファイルを選択
  2. Enterで詳細を表示
  3. eでエディタを開いて編集

または、Lazygit内で解決:

キー動作
自分の変更を採用
相手の変更を採用
b両方の変更を採用

解決後

  1. 解決したファイルをSpaceでステージング
  2. mを押して続行
Filesパネルで `m` → "continue" を選択

スタッシュ

作業中の変更を一時的に退避する機能です。

スタッシュの作成

キー動作
s変更をスタッシュに保存
Sステージング済みの変更のみスタッシュ

スタッシュの適用

Stashパネル(5キー)で:

キー動作
Spaceスタッシュを適用
gスタッシュを適用して削除(pop)
dスタッシュを削除

元に戻す(Undo/Redo)

Lazygitにはアンドゥ/リドゥ機能があります。

キー動作
z元に戻す(Undo)
Ctrl + zやり直し(Redo)

この機能はreflogをベースにしているため、コミット操作も取り消せます。

便利なショートカット

全般

キー動作
?ヘルプを表示
qLazygitを終了
@コマンドログを表示
+次のスクリーンモード
_前のスクリーンモード

検索

キー動作
/現在のパネルで検索
n次の検索結果
N前の検索結果

オプションメニュー

キー動作
m現在の項目のオプションメニュー
xメインメニュー

実践的なワークフロー

日常的なコミット

1. lazygit を起動
2. Filesパネルで変更を確認
3. Space でファイルをステージング
4. c でコミットメッセージ入力
5. Enter で確定

機能ブランチの作成と作業

1. Branchesパネルで n を押す
2. ブランチ名を入力(例: feature/login)
3. 作業してコミット
4. 完了したら main に移動
5. feature/login を選択して M でマージ

コミットの整理(リベース)

1. Commitsパネルで整理したい最初のコミットで e
2. s でスカッシュ、r でメッセージ変更など
3. リベースが完了するまで操作

コンフリクト解決

1. コンフリクトが発生
2. UU のファイルを選択
3. Enter で差分を確認
4. ← → b でどちらを採用するか選択
5. 全て解決したら Space でステージング
6. m → continue で続行

カスタマイズ

設定ファイルは~/.config/lazygit/config.ymlにあります。

設定例

# ~/.config/lazygit/config.yml

gui:
  # テーマ
  theme:
    selectedLineBgColor:
      - default
    selectedRangeBgColor:
      - default
  # 言語
  language: "ja"

git:
  # 自動フェッチの間隔(秒)
  autoFetch: true
  autoFetchInterval: 120

  # プルの設定
  pull:
    mode: "rebase"

keybinding:
  # カスタムキーバインド
  commits:
    moveDownCommit: "<c-j>"
    moveUpCommit: "<c-k>"

トラブルシューティング

「detached HEAD」状態になった

1. Branchesパネルで戻りたいブランチを選択
2. Space でチェックアウト

リベースを中止したい

m → "abort rebase" を選択

マージを中止したい

m → "abort merge" を選択

間違えてコミットを消してしまった

z で Undo(reflogから復元)

まとめ

Lazygitの主要な操作をまとめます:

操作キー
ステージングSpace
コミットc
ブランチ作成n
チェックアウトSpace
マージM
リベースR
スカッシュs
チェリーピックShift+C, Shift+V
スタッシュs
元に戻すz
ヘルプ?

Lazygitを使えば、複雑なGit操作も視覚的に行えます。最初は基本的なステージング・コミットから始めて、徐々にリベースやチェリーピックなどの高度な操作を覚えていきましょう。

関連記事

参考リンク