lazygitの最近お世話になり始めた機能を紹介

lazygitでのリモートブランチとスタッシュの機能を今まで使っていなかったので気づきを共有します。
2022.08.08

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

どうも。CX事業本部Delivery部のえーたん(@eetann092)です。

lazygit使用中に今まで使っていなかった機能がいっぱいあることにふと気づきました。 本記事では、お世話になり始めた機能に絞って共有します。ステージングやコミットなどは紹介しません。

lazygitとは?

lazygitは簡単なキーボード操作だけでGitの操作ができるツールです。 キーバインドがたくさん用意されているため、タイプ数がとても減ります。 コマンドの操作やキーバインドを忘れてしまっても、xを押せばすぐメニューを開いて操作できます。

以下がlazygitを起動したときの画面の例です。

xを押すと以下のようにキーバインド付きでメニューが表示されます。 Enterを押せば選択中のコマンドを実行できます。

リモート〇〇を操作

先に、GIFで雰囲気をお伝えします。

リモートリポジトリの一覧を見る

今まで筆者は「Local Branches」しか見ていませんでしたが、「Remotes」タブ、「Tags」タブがあります。 前のタブに移動するには[を、次のタブに移動するには]を入力します。

「Remotes」タブでは、リモートのリポジトリやブランチの操作ができます。

「Remotes」タブに移動するとまずリモートリポジトリの一覧が表示されます。 Enterを押すと、選択したリポジトリのブランチが表示されます。 さらにEnterを押すと、そのリモートブランチのコミット履歴も確認できます。

「リモートリポジトリ一覧」→「ブランチ一覧」→「コミット履歴」とたどった時に、 ESCキーを押せば、 「コミット履歴」→「ブランチ一覧」→「リモートリポジトリ一覧」のように前の画面に戻れます。

リモートブランチをローカルに持ってくる

リモートブランチをローカルに持ってきて作業したい場合、リモートブランチの一覧でスペースキーを押し、ブランチ名を決めてEnter押しせばチェックアウトできます。

コマンド操作ではoriginを入力し忘れることが多かったので、これは助かります。

ちょっとした検索

/+検索ワード + Enterを入力することで、ちょっとした検索ができます。

検索するとマッチする箇所がハイライトされます。nで次のマッチ、Nで前のマッチへ移動し、ESCで検索を終了できます。

↑の画像はコミットメッセージを検索していますが、ブランチやファイルのパネルでも可能です。

stash

stashはコミットのパネルからsキーで行います。

画面左下のstashのパネルからstashを管理できます。

stashした内容を確認

以下は、stashした作業内容を確認するためにEnterを押して操作している様子です。

stashから復元

stashした作業内容をpop(復元して削除)するときはgキー、apply(復元)するときはスペースキー、drop(削除)するときはgキーです。

Gitでまだ追跡してないファイル(コマンドではgit stash -u)はできませんが、PRがあるようです。

現状、「未追跡ファイルも含めて全部退避させたい!」という場合、普通にコマンドを使うのが一番手っ取り早そうです。 もちろん、いったん未追跡ファイルもステージングしてからstashしたり、lazygitに設定を追加しても可能です。

オプションも選べる

stashのオプションを選びたい場合は、Sキーを押すことでオプションを選択して実行できます。

最後に

今回紹介しきれていないタブ(Status、Submodules、Tags、Reflog、Command Log)を筆者はまだ使いこなせていません。 使いこなせるようになったり、設定をカスタマイズしてみたらまた紹介します。