2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

Last updated at Posted at 2025-11-30

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つ前のコミットと統合)
f fixup(統合してメッセージは捨てる)
r reword(コミットメッセージを変更)
d drop(コミットを削除)

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

複数のコミットを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をベースにしているため、コミット操作も取り消せます。

便利なショートカット

全般

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

検索

キー 動作
/ 現在のパネルで検索
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操作も視覚的に行えます。最初は基本的なステージング・コミットから始めて、徐々にリベースやチェリーピックなどの高度な操作を覚えていきましょう。

関連記事

参考リンク

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?