はじめに
皆さんは普段、ローカルマシンでのGit操作はどのように行っていますか?
自分は普段、CLI上でgitコマンドを打ってgit操作をしているのですが、ある日会社の先輩に
「SourcetreeとかGUIのgitクライアントアプリ使った方が見やすいし便利じゃない?w」
的なことを言われて、
「く、黒い画面がいいから…。マウスとか使うの面倒だから…。」
としか言えず悔しい思いをしました。。
しかし**lazygit**という素晴らしいツールを使えば、CLIでもgit操作はこんなに便利でイケてるということを広められることができれば思い今回記事にしました。
githubリポジトリ: https://github.com/jesseduffield/lazygit
インストール
ここに全て記載されているので簡単に。
https://github.com/jesseduffield/lazygit#installation
Homebrew
brew install jesseduffield/lazygit/lazygit
Windows
https://github.com/jesseduffield/lazygit/releases
ここにバイナリがあるので、適宜必要なファイルをダウンロード。
その他
UbutuやArch Linux、Conda用のインストール方法も上記リンクに記載されているので、記載内容に従えばインストールできるはずです。
lazygit自体はGoで作られているので、Goの環境がローカルにあれば
go get github.com/jesseduffield/lazygit
でもインストール可能です。
使い方
インストールが完了したら、あとはgit管理されているリポジトリがあるディレクトリで
$ lazygit
と入力するだけです。
git initしたばかりの空のリポジトリなので味気ないですが、なんだかちょっとワクワクします
基本操作
lazygitを立ち上げると画面左側に以下の5つのグループが表示されています。
- Status
- Files
- Local Branches - Remotes - Tags
- Commits
- Stash
それぞれのグループは
- 「←」「→」カーソル
- 1,2,3,4,5の数字
- 「h」「l」
で移動できます。個人的にはvimのキーバインドで移動できるのがとても嬉しいです!
それぞれのグループで使用できるコマンドは
そのグループに移動して 「x(小文字)」 を押すと表示されます。
それでは、よくありそうなgitの操作を試してみます。
ブランチ操作
ブランチの操作は Local Branches - Remotes - Tags グループ内で行います。
ローカルブランチ作成
- Local Branches - Remotes - Tagsに移動し 「n」 ボタン押下
- ダイアログが表示されるので、ブランチ名を入力してEnter
-
Local Branches - Remotes - Tagsに作成したブランチが表示されたら作成成功
ローカルブランチ切替
ローカルブランチ削除
ファイル操作
ファイルの操作は Files グループで行います。
ステージ追加(git add)
ステージ追加を取り消す(git reset)
コミット
- コミット対象のファイルをステージに追加した状態で、 「c(小文字)」 押下
- ダイアログが表示されるので、コミットメッセージを入力して Enter
-
Commitsグループにコミットログが追加されればコミット成功
リモートブランチと連携
リモートブランチの連携はどこにカーソルの位置に関わらず、どこでも行えます。
プッシュ
プル
まとめ
さわりの部分しか紹介できていませんが、これ以外のgit操作も基本的に全て行えます。
キーバインドに慣れるまでが大変かもしれませんが、普段使うキーはすぐに慣れると思うので、そうなれば手足のように使い倒せるのではないかと思います!