ちょっと話題の記事

【Gitコマンド入力をお手軽に!】ターミナルUIのGitツール「lazygit」の紹介

簡単なキー入力だけでgitコマンドの実行が可能になるツールlazygitの紹介記事です。CLIでの入力やGUIでの画面操作が必要なくなり、端末の画面ないだけで操作が完結するのでかなり快適にgit操作が可能になります。
2020.03.13

はじめに

皆さんはgitコマンドを扱う時にCLIを使っていますか?いちいち「git commit」や「git merge」などのコマンドを打ったりhistoryから探したりするのって面倒ですよね。ただGUIのツールを使っても毎回画面移動が必要になるので、見やすくても面倒は残ります。そんな方に簡単なキー入力だけでgitコマンドの実行が可能になるツールの紹介です。先輩(@shuntaka)からの紹介で入れてみて、開発中に使っていてかなり便利なツールだと感じたので紹介記事書きました。

lazygitとは

lazygitとは、git commandのためのシンプルなターミナルUIです。lazygitはすでに存在しているリポジトリに対して、主にコミット・ブランチ操作をCLI上の画面から簡単に実行することができます。画面の操作などは基本vimのキーバインドも使えるのでvimの操作に慣れている人には特におすすめです!

インストール方法

基本は以下のURLに書かれているのでその通りに行えば問題ないです。今回の記事ではMacでHomebrewを使う場合を想定します。 最近の更新をすぐに取り入れたい場合はTapの方をインストールしてください。

https://github.com/jesseduffield/lazygit

Tap

$ brew install jesseduffield/lazygit/lazygit

Core

$ brew install lazygit

基本操作

Gitリポジトリ配下のディレクトリに移動して、lazygitコマンドを実行すると以下のような画面が立ち上がります。

$ lazygit

画面は左側5つと右側1つの画面で構成されています。右側の画面には左側の各画面の詳細な情報(コミットであればコミットした際のファイルの変更内容、ブランチであれば修正履歴など)が表示されます。

    • Status:現在のブランチや最新コミットのハッシュなどを表示
    • Files:リポジトリ配下で変更のあったファイルを表示
    • LocalBranchs - Remote - Tags:ブランチの表示
    • Commits Reflog:コミットログの表示
    • Stash:スタッシュの表示

画面間の移動はクリックもしくはvimライクな操作(hlで画面切り替え、jkで画面内移動)、矢印キーでの移動が可能です。 Commits画面ではコミット、LocalBranch画面ではブランチの作成などの操作が単一キー入力だけで可能です。 さらに、コマンドがわからなくなった場合は、xを押下すると以下のような、各画面で実行できる操作を確認でき矢印で選択してコマンドを実行することもできます。

ブランチ作成

LocalBranchsを選択して、「n」を押下すると新規のブランチが作成できます。 作成すると新しいブランチが表示されて※がブランチ名の前にきます。※は現在チェックアウトしているブランチを表します。 マージ後などで不要になったブランチは、他のブランチ選択した状態で「スペース」を押下してチェックアウト後、消したいブランチを選択して「d」を押下で削除できます。

ファイルの追加・コミット対象の選択

lazygitでは追加するファイルやコミット対象とするファイルを選択してコミットすることができます。 Filesを選択中に追加・コミットしたいファイルを選択して「スペースキー」を押すとファイルをコミット対象にできます。 追加対象になるとファイル名緑色になるので、コミットする対象が画面で簡単に確認できます。

コミット

Filesを選択して「c」を押下すると、コミットメッセージを打ち込む画面が表示されます。 この画面で、メッセージを打ち込んで「Enter」を押すとコミットが行われます。 コミットした結果は、Commits Reflogの画面で内容を確認することができます。

マージ

別に作成されたブランチをマージする際は、マージしたいブランチを選択して「M」を押下するとマージでます。

プッシュ

ブランチをプッシュするには、ブランチを選択した状態で「P」を押下するとプッシュすることができます。

スタッシュ

個人環境用の設定などを一時的に退避したい場合に、スタッシュも簡単に行えます。 Filesを選択している状態で「s」を押下すると、スタッシュ名の入力画面が出て入力後Enterで変更が退避されます。 退避した内容は、Stashの画面で確認することができます。

最後に

gitコマンドを何度も打つ必要がなくなるので、historyやFuzzyFinderなどで調べる必要もなくなりキーコマンドで処理実行ができるので非常に便利だと思います。自分も慣れてからは便利で手放せなくなっています。是非試してみてください!