AI 記事

Git操作を爆速化!lazygitで開発時間を劇的に短縮する実践術

Git操作を爆速化!lazygitで開発時間を劇的に短縮する実践術

開発中のGit操作に、もたつきを感じていませんか?

ターミナルでコマンドを打ち間違え、GUIツールと行ったり来たり。ステージング漏れやコミットメッセージの修正に、余分な時間を費やしてしまう。このような経験は、多くの開発者にあるでしょう。

Gitの作業は、日々の開発に欠かせません。しかし、その手間が積み重なると、年間で数十時間ものロスにつながることもあります。この記事では、ターミナル上でGit操作を完結させるTUIツール「lazygit」を活用し、開発ワークフローを劇的に改善する実践的な方法を紹介します。

Git操作の「もたつき」、感じていませんか?

日々の開発で、Gitは不可欠なツールです。しかし、その操作に手間やストレスを感じる場面は少なくありません。例えば、次のような状況に心当たりはないでしょうか。

  • 修正したファイルのなかから、特定の変更だけをステージングしたい。しかし、git add -p の対話型コマンドに約5分かかっている。
  • ブランチを切り替えるたびに、git branch で一覧を確認し、git checkout で名前を正確に入力している。この一連の作業に約15秒かかっている。
  • 複数のコミットを一つにまとめたい、またはコミットメッセージを修正したい。git rebase -i の複雑なコマンドに、約10分を要してしまう。
  • マージ衝突が発生した際、どのファイルで何が衝突しているか、視覚的に把握しにくい。解決まで約20分かかることもある。

これらの作業は、一つ一つは小さな手間です。しかし、開発中に何度も繰り返されるため、その積み重ねは大きな時間のロスにつながります。手作業でのコマンド入力は、タイプミスのリスクも高めます。

lazygitが変える開発ワークフロー

lazygitは、ターミナル上で動作するTUI(Text User Interface)のGitクライアントです。CLI(コマンドラインインターフェース)の速さと、GUI(グラフィカルユーザーインターフェース)の直感的な操作性を両立させます。キーボード操作だけで、ほぼ全てのGitコマンドを実行できるのが特徴です。

なぜlazygitを選ぶべきなのでしょうか。その理由は、約3つのメリットに集約されます。

  1. 高速性: コマンド入力の手間を省き、キーバインドで瞬時に操作できます。マウス操作が不要なため、思考を中断させません。
  2. 直感性: コミット履歴、ファイルの状態、ブランチ一覧などを一目で確認できます。視覚的に状況を把握できるため、判断が速くなります。
  3. 効率化: コミットの編集やリベースといった複雑な操作も、対話形式で簡単に行えます。これにより、コマンドを覚える負担が減ります。

導入も非常に簡単です。以下のコマンドでインストールできます。

# macOSの場合
brew install lazygit

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

# Windowsの場合(Scoopを使う)
scoop install lazygit

# その他のOSやインストール方法は公式ドキュメントを参照

インストール後、ターミナルで lazygit と入力するだけで起動します。

lazygit

コミットとステージングを数秒で完了する

開発中に複数のファイルを修正し、その一部だけをコミットしたい状況は頻繁に起こります。例えば、新機能の開発と同時に、既存のバグ修正も行った場合です。

従来の手順では、git add -p を使って変更箇所を一つずつ確認し、ステージングしていました。この作業は対話的で、約5分ほどの時間を要することがあります。さらに、ファイルごとにコミットメッセージを分けて入力する手間も発生します。

lazygitを使えば、このワークフローを劇的に短縮できます。

  1. lazygit を起動します。
  2. 画面左上の「Files」パネルで、変更されたファイルの一覧が表示されます。
  3. ステージングしたいファイルを選択し、space キーを押します。選択したファイルの変更が、瞬時にステージングされます。
  4. 変更内容の一部だけをステージングしたい場合は、ファイルを選択して enter キーを押します。すると、ファイル内の変更行が詳細に表示されます。
  5. ステージングしたい行を選択し、space キーを押すことで、その行だけをステージングできます。
  6. ステージングが完了したら、「Staged changes」パネルに移動し、c キーを押してコミットメッセージを入力します。
  7. enter キーでコミットを完了します。

この一連の作業は、慣れれば約10秒で完了します。

あるフリーランスエンジニアのAさんは、機能開発中に約10個のファイルを修正し、そのうち3個のファイルを個別にコミットする作業に、毎回約8分を費やしていました。lazygit導入後は、同様の作業が約1分30秒で完了。約80%の時間短縮を実現しました。Aさんは「以前はコミット作業が億劫で後回しにしがちでしたが、lazygitのおかげでこまめにコミットできるようになりました」と話しています。

この体験から読者が学べることは、複雑なステージング作業も視覚的な操作で大幅に短縮できる点です。

今日から実行できるアクションプラン:

  • lazygitをインストールし、まずは lazygit と入力して起動してみる。
  • 練習用に小さなコード変更を行い、ファイルパネルで space キーを押してステージングを試す。
  • ファイル内で enter キーを押し、行単位のステージングを体験する。

ブランチ管理とマージの衝突をスムーズに解決

複数のブランチを行き来したり、他のブランチの変更を取り込んだりする作業は、開発において日常的です。しかし、git branch でブランチ一覧を確認し、git checkout <branch_name> で切り替える作業は、約15秒かかります。特に、ブランチ名が長い場合や、似たような名前のブランチが多い場合は、タイプミスも発生しやすいでしょう。

さらに、git mergegit rebase でマージ衝突が発生した場合、どのファイルで、どの行が衝突しているのかを特定する作業は、約20分を要することもあります。手動で衝突マーカーを修正する作業は、集中力と注意力を大きく消耗させます。

lazygitは、これらの課題をスマートに解決します。

  1. lazygit を起動します。
  2. 画面右下の「Branches」パネルで、ブランチの一覧が表示されます。
  3. 切り替えたいブランチを選択し、space キーを押すだけで瞬時にチェックアウトが完了します。
  4. マージ衝突が発生した場合、「Files」パネルに衝突ファイルが赤色で表示されます。
  5. 衝突ファイルを選択し、enter キーを押すと、そのファイルの差分ビューが開きます。
  6. 画面下部には、現在のブランチとマージ対象ブランチの変更内容が表示されます。どちらか一方の変更を採用するか、両方を手動で編集するかを、キーボード操作で選択できます。
  7. 衝突を解決したら、space キーでステージングし、c キーでコミットします。

この視覚的な操作により、ブランチ切り替えは約3秒、マージ衝突の解決は平均して約5分で完了できます。

あるプロジェクトリーダーのBさんは、チームメンバーからのプルリクエスト処理に毎日約30分を費やしていました。特に、マージ衝突の解決は精神的な負担が大きく、約15分を要していました。lazygitを導入してからは、衝突箇所の特定と修正が視覚的に行え、作業時間が平均5分に短縮されました。これにより、他のレビュー作業に約10分の余裕が生まれました。Bさんは「衝突解決が格段に楽になり、レビューの質も向上したと感じています」と語っています。

この体験から読者が学べることは、ブランチ管理やマージ衝突解決の複雑な作業も、視覚的なTUIによって大幅に簡素化できる点です。

今日から実行できるアクションプラン:

  • lazygitの「Branches」パネルで、ブランチを切り替える練習をする。
  • 意図的にマージ衝突を発生させ、lazygitで衝突解決を試みる。
  • 衝突解決のキーバインド(例: z で両方採用、x で現在の変更、c で相手の変更)を覚える。

リベースと履歴整理でクリーンなコミットログを保つ

プルリクエストを提出する前や、フィーチャーブランチを最新のメインブランチに追従させる際、コミット履歴をきれいに整理することは重要です。しかし、git rebase -i コマンドを使ったインタラクティブなリベースは、複雑で難易度が高いと感じる開発者も少なくありません。特に、pick, squash, fixup, reword, edit といったコマンドを適切に使いこなすには、約10分ほどの学習時間が必要です。また、操作を誤ると履歴が壊れるリスクも伴います。

lazygitは、この複雑なリベース操作を直感的に実行できる機能を提供します。

  1. lazygit を起動します。
  2. 画面右上の「Commits」パネルで、コミット履歴が表示されます。
  3. リベースを開始したいコミットを選択し、r キーを押します(reword の場合)。または、s キー(squash)や f キー(fixup)を押します。
  4. lazygitは、選択したコミット以降の履歴を、指定したアクションでインタラクティブに編集するモードに切り替えます。
  5. コミットの順番を入れ替えたい場合は、コミットを選択して j (下へ) / k (上へ) キーで移動させます。
  6. 編集が完了したら、q キーを押してリベースを完了させます。

これにより、複雑なリベース操作が、約3分で完了できるようになります。

ウェブサービスを開発するCさんは、プルリクエストを出す前に、平均約40分をかけてコミット履歴の整理を行っていました。特に、複数のコミットを一つにまとめたり、誤字を修正したりする作業に手間取っていました。lazygitのリベース機能を使うようになってからは、視覚的にコミットを操作できるため、作業時間が平均約10分に短縮。約75%の時間短縮を実現しました。Cさんは「以前はリベース作業が苦手でしたが、lazygitのおかげで抵抗なく履歴をきれいに保てるようになりました」と満足しています。

この体験から読者が学べることは、複雑なリベース操作も、視覚的な操作によって習得が容易になり、かつ高速に行える点です。

今日から実行できるアクションプラン:

  • 実験用のブランチを作成し、数個のコミットを作成する。
  • lazygitを起動し、「Commits」パネルでコミットを選択する。
  • s キー(squash)を使って複数のコミットを一つにまとめる練習をする。
  • r キー(reword)を使ってコミットメッセージを修正する練習をする。

lazygitは、Gitの日常的な操作に費やす時間を大幅に削減します。複雑なコマンドを覚える手間を省き、開発者が本来集中すべきコーディング作業に、より多くの時間を割り当てられるようになります。今日からlazygitを導入し、あなたの開発ワークフローを次のレベルへと引き上げましょう。

参考文献


まとめ・次のステップ

この記事が役に立ったら、ブログのメールマガジンへ登録してください。 AI活用・個人開発・副業に関する最新情報を週1回お届けします。

👉 無料メルマガに登録する(Waitlist)


このブログでは、会社員をしながら副業でSaaSを開発する過程をリアルに発信しています。使用スタック: Next.js / Supabase / Claude API / Vercel

広告

-AI, 記事