アソビュー Advent Calendar 2020の11日目です。
今更ですがtigを使うようになりました。
これをみてひとりでもtigを使うようになっていただけれたらいいなと思います。今更ですが。
対象の方
git commandをそのまま使っている方。
ちょっと前の私 です。
今回試してみること
- commitがカンタンきれいに
- cherry-pickがカンタンに
前提知識
tigとは
Tig is an ncurses-based text-mode interface for git. It functions mainly as a Git repository browser, but can also assist in staging changes for commit at chunk level and act as a pager for output from various Git commands.
とのことです。
インストールはこちらから。
複数の表示モードがあります
表示モードがたくさんあります。
今回使うモードは以下の3つです。
main view
diff view
status view
基本操作
main viewを開きそこからstatus viewやdiff viewを開きますが、
$ tig
でmain viewが表示されます。
main viewを開いたあとにsでstatus viewが開きます。
特定のファイルやコミットを選択した状態でdでdiff viewが開きます。
mでmain viewに戻れます。
また、status viewを開いて対象ファイルにカーソルをあわせた状態でエンターを押すと画面が分割され、対象ファイルのdiffを確認することもできます。
ここまででいったん実際に3つのviewを縦横無尽に移動できるまでさわってみましょー。
今回試してみることを試します
commitがカンタンきれいに
status viewを開いてコミットしたいファイルを選択してuでコミット対象となります。コミット対象のファイルを選択してuでコミット対象から除外することもできます。
あとはCでコミットです。カンタン😊。
基本はこれだけですが、コミット対象のファイルの中から一部だけコミット対象外にできたりします。
status viewでコミット対象のファイルを選択してdiff viewも開き(基本操作参照)、ファイルのなかでコミットしたくない行にカーソルをあわせて1。
これで余分な修正は除外してきれいなコミットができます。きれい✨。
カンタン😊きれい✨やったね。
cherry-pickがカンタンに
main viewでコミットを選択してcherry-pickできます。
以下のようなコミットログ(masterとbranch_test)
masterブランチにbranch_testのコミット(今回はadd c.txt)をピックしてみます。
事前にmasterブランチに移動した状態で、
$tig branch_test
branch_testのmain viewが表示されるのでピックしたいコミット(add c.txt)を選択して C。画面下にcherry-pickを実行するかと出るのでyで実行。
main viewでmasterブランチのログを確認すると無事branch_testのコミット(add c.txt)をピックできました。
カンタン😊。
gitコマンドを使っている方いちどぜひ。
以上です。今更ですが!