やる気がストロングZERO

やる気のストロングスタイル

Git GUIクライアントツールからの脱却検討

git操作自体はgit cuiコマンドで行っているが、差分やtreeを見るためにSource Treeを使っている。
いちいちwindowを切り替えるのもめんどくさくなってきたので、CUI環境で完結出来るならそうしたいと思い検討中。

tigを使うとかなりの部分がGUIクライアントのノリで作業できる。

現在GUIで行っている作業をtigやコマンドでどのように対応するかを検討する。

前準備

brewとかaptとかでtigをインストールする。

tigのmain viewにコミットIDとauthorが表示されていると便利なので設定する
参考) やけに丁寧なtigの設定ガイド(表示制御編) - Qiita

~/.tigrc

# main viewの左端にコミットIDを表示する
set main-view = id date author commit-title:graph=yes,refs=yes
# デフォルト
# set main-view = date author commit-title:graph=yes,refs=yes

コミットTreeを見てブランチの位置関係の確認など

普通にtigコマンドを打てばOK

変更完了時、差分を確認して適宜stagingへaddしてコミット

tigで出来る。
tigのmain viewで[sキー]を押すと表示されるviewにて、uキーでステージングへ。
ハンクごとにaddも可能
[1キー]で1行ごとのaddも可能

[Cキー]でcommitを打てる

問題があるコードがあった場合に、どこでその変更が入ったのか?どういう理由で入ったのかを確認する

tig [ファイルパス]

でそのファイルの変更履歴だけを辿れる。

問題の変更が入ったcommitを見つけて変更意図を読む。
コミットIDがわかるので、一緒に変更された他ファイルの内容も見たければtigコマンドを打ち直して、
/[コミットID]
で検索してそのコミットを確認する。

特定のコミットとの差分を比較したい場合

比較元のブランチやコミットにチェックアウトして、

git diff [比較先コミットID] 

で全部の変更の差分確認できる。

git diff [比較先コミットID] --name-only

でファイル名だけ確認できる。

上記コマンドで怪しいファイルを見つけたら、

git diff [比較先コミットID] ファイル名 

でそのファイルだけ差分確認できる。

指定した複数のブランチのみのtree表示を見たい

branch1とbranch2のみのtree表示が見たい場合がある。(全部のブランチが表示されると見づらいため)

tig branch1 branch2

で確認できる。