この記事の対象者
普段からSourceTreeを使用している方
Tigとは
Gitの履歴や差分を可視化してくれる超絶便利な機能です。
https://github.com/jonas/tig
Homebrewを導入している場合は、brew intall tig
でインストールすることができます。
SourceTreeから離れてTigを使おうと思ったきっかけ
- リポジトリの容量が重いとSourceTreeがフリーズする
- SourceTreeの起動速度が遅い
- SourceTreeが度々モサモサする
- 最初の初期設定云々がめんどくさい
- めんどくさい
- Dockerの中に入っているフォルダがSourceTreeで管理できないことがあった(設定でできる様です)
- VSCodeからそのままGIT操作がしたかった
- なんかカッコいい
- なんか黒い画面から操作してるとカッコいい
- スタバとかで黒い画面操作してるとカッコいい
そもそもSourceTreeでは大した操作はしていなかった
普段の操作例
- コミット
- プッシュ
- フェッチ
- プル
- チェックアウト
- マージ
- リセット
ぐらいでした。
これをコマンドで入力すると
コミット
git commit or git commit -m "コミット内容"
プッシュ
git push (リモートと紐付けできていればこれでOK)
フェッチ
git fetch
プル
git pull
チェックアウト
git checkout <branch>
マージ
git merge <branch>
リセット
git reset --soft HEAD^
結構簡単ですね!!
具体的にTigを使用すると何ができるのか
コマンド入力例から見てみましょう!
tig
を入力すると現在のブランチの履歴がターミナルから閲覧できます。
キーボードの矢印もしくはJ,K
で上下することができEnterを押すと詳細な変更点を閲覧することができます。
一枚目のスクショのときにcmd+s
でuntracked, changed, commited
のファイルをそれぞれ閲覧することができ、commitedにしたい時はu
でcommitedにすることができます。ファイルの上でEnterを押すと詳細な変更点を閲覧することができます。
commitしたいファイルをcommitedに移動したらcmd+c
でコミット画面を表示することができます。
vimの操作でi
で編集モードに入り、control+c
で編集を終了します。
コミット内容に問題がなければ:wq
でコミットを確定します。
その後はターミナルからgit push
でリモートにpushすることができます。
初めのうちはTigの操作というよりはVimの操作に手こずりますが、Vimを覚えておくとDockerの中のファイルを編集したりするときにスムーズに作業が完了するので覚えておいて損はないとおもいます。
ターミナルからGIT操作することに何を抵抗を感じるのか
私もそうだったのですが、なんとなく色付きでリッチに履歴を見たい!
GUI操作のほうが簡単!
周りの人はみんなSourceTreeを使っているから!!
なんかこわい。
コマンド操作が分からない。
なんか黒い画面がこわい。
というのが主な理由でした。
最後に
最初はSourceTreeから離れるのが不安だと思います。
その場合はSourceTreeとターミナルを併用して両方からGit操作することをオススメします。
徐々にターミナルを使用することで抵抗感なく移行することができるようになるとおもいます。