はじめに
Git操作をいくらかでも楽にしようと、過去にやってみたこと・現在やっていることを紹介します。より快適なGit操作のための参考になれば嬉しいです。
なお自分は普段の開発にMacを使用しており、一部の情報がMac向けに偏っている可能性があります。その点ご容赦ください。
git-prompt / git-completion
git-promptを導入すると、ブランチ名や未コミットの変更の有無といった情報がターミナルのプロンプトに表示されます。おかげでgit status
やgit branch
を打たずとも、リポジトリの状態を把握できます。
またgit-completionを導入すると、Gitのコマンドやブランチ名にTab補完が効くため、コマンドの入力が楽になります。
設定方法については、こちらの記事にわかりやすくまとまっていました。
シェルプロンプトのカスタマイズにstarshipを使えば、自力でgit-prompt・git-completionを導入せずともそれらと同様の機能を得られます。(自分もstarshipを使っています。)
Warpのように、同様の機能が組み込まれたターミナルを使うのも良いでしょう。
エイリアス
Gitエイリアスを追加することで、コマンド実行に必要な入力を短くすることができます。例えば、以下を実行すると、git co
と打つだけでgit checkout
と同等のことを行えるようになります。
git config --global alias.co checkout
git
と打つのも面倒であれば、zshエイリアスを追加しましょう。
alias gco="git checkout"
これでgco
と打てばgit checkout
と同等のことを行えます。
便利なコマンドを作ってエイリアス登録しておくのも良いでしょう。例えばGumというツールを使うと、「ローカルブランチを選択して一括削除」といったコマンドを簡単に作成できます。
git branch | cut -c 3- | gum choose --no-limit | xargs git branch -D
これを~/.zshrc
でエイリアス登録しておけば呼び出しやすくなりますね。
GUIツール
VSCodeやJetBrains製品などのエディタには、Git操作のためのGUIが備わっています。これらを使うと、特にファイルの変更差分の把握やコンフリクトの解消なんかがやりやすくなります。SourcetreeのようなGUIツールを使うのも良いですね。
Lazygit
LazygitはターミナルUIでGit操作を行うためのツールです。
Lazygitを使うとVimライクな少ないキー操作でGit操作を行えます。またリポジトリに関する情報を画面いっぱいに表示してくれるため、一度に多くの情報を確認できます。
この「操作の楽さ」と「情報量の多さ」が自分にとって非常に使いやすく、現在自分のGit操作の大部分がこのLazygitに支えられています。
まとめ
Git操作を楽にするためにやってきたこととして、以下の方法・ツールを紹介してきました。
- git-prompt / git-completion
- エイリアス
- GUIツール
- Lazygit
Git操作をより快適にするためのヒントになれば幸いです。