久しぶりに Git クライアントを色々触ってみて、Fork が触れば触るほど良いなと思ったのでまとめます。Windows / Mac どちらにもあり、買い切りの $49.99(2020/04/29執筆時)。買い切りありがたい。機能としては SorceTree と同じかそれ以上、SorceTree よりかなり軽い。
特にこれは良いな、最高、と思ったところをいくつか書きます。
目次
Git LFS で管理している画像ファイルのプレビューが優秀
Git LFS で画像を管理している場合、自分のローカルには Git LFS のポインタのみで実態のファイルがないことがある。ローカルで画像を確認したい場合、git lfs pull
をして実態のファイルをダウンロードする必要が通常ある。
だが Fork ではローカルにはポインタのみで実態がないファイルでもプレビューができる。

Git LFS はうまく使わないと重くなるので、git lfs install --skip-smudge
と設定して Git LFS 関連ファイルはスキップして git pull
をする、といったケースもある。その状態でちょっとこの画像だけ確認したい時すごく便利だと感じた。
Custom Commands が便利
SourceTree にも同様の機能があるが、Custom Commands がある。好きなコマンドを登録しておけるので、私は Git LFS 関連のコマンドをいくつか登録している。内容をちょっと紹介。

Git LFS ファイルは DL しないでスルーするよう設定
- File > Preferences で設定画面を開く
- 左下の
+
ボタンから Add Repository Custom Command を選択 - Title に「Git LFS ファイルは DL しないでスルーするよう設定」
- Script Path に自分の git の場所
- Parameters に
lfs install --skip-smudge
Git LFS ファイルも DL するように設定(上の設定から戻す時に)
- File > Preferences で設定画面を開く
- 左下の
+
ボタンから Add Repository Custom Command を選択 - Title に「Git LFS ファイルも DL するように設定」
- Script Path に自分の git の場所
- Parameters に
lfs install --force
Git LFS ファイルを pull
- File > Preferences で設定画面を開く
- 左下の
+
ボタンから Add Repository Custom Command を選択 - Title に「git lfs pull」
- Script Path に自分の git の場所
- Parameters に
lfs pull

Add Repository Custom Command で追加したコマンドは、メニューの Repository の中に追加される。さらに後述の Quick Launch view からも使える。
Quick Launch view が、テキストランチャー好きな人には使い勝手良い

起動ショートカットは Ctrl+P, ⌘+P 。Quick Launch というボタンも表示されてるので、それを押しても起動できる。
ブランチ切り替えなら ch
と入れるとインクルメンタルサーチされるので Checkout Branch...
を選んでエンターを押す→ブランチを選ぶ、という形で切り替えられる。
Mac だと Alfred、Windows だと fenrir みたいなテキストランチャーが好きなので、こういうランチャーはすごく好きです。
この Quick Launch view からはいろいろなコマンドが実行できて、特定のファイルの履歴が見たいときは File History...
を選んでエンター→ファイル名をインクルメンタルサーチで入力、という流れで履歴が開けたりもする。

Add Repository Custom Command で追加したコマンドも Quick Launch view から実行できる。便利!
差分表示も柔軟

上図のような差分表示のほか、下図のようなマージツールによくある表示も可能。

さらに下図のように、ファイル名を選択している状態で space を押すとマージツールによくある表示がポップアップされる。


画像変更確認が3パターンからできる

Github のように、Side-by-Side / Swipe / Onion Skin の 3 パターンの画像変更確認が可能。Git LFS で管理しているファイルでももちろんできる。
ブランチの検索がインクルメンタルサーチで可能

ブランチが多い場合、あのブランチは~…と探すのって地味に手間ですが、Fork はブランチをインクルメンタルサーチで絞り込み検索できる。
Github / Explorer / Console を開く

地味にこういうショートカットボタン使うのでありがたいです。
履歴ツリーの表示ブランチを選べる(が分かりにくい)
表示している Git 履歴のツリー、全部のブランチを表示するか、今のブランチだけ表示するか、ちゃんと選べるようになっているんだけれど気づきにくい。最初わからず、なんでこんな高機能なのにこの機能ないんだろ…と思ってました。

リポジトリ名の下にブランチ名が表示されている、このあたりにカーソル持っていくと右下にある絞り込みできますよ~って感じのアイコンが表示される。これをクリックすると、現在のブランチだけ表示される。
Git LFS や Git Flow をサポートしている

こういったコマンドがデフォルトで付いているのは嬉しい。
気になる点
- 日本語化されてないので英語は絶対嫌って人にはきついかも。
- 変更ファイルの Staged Changes と Unstaged Changed が SorceTree と逆なのでうっかり間違えないように。
まとめ
SourceTree の使いやすさ、機能に同レベルかそれ以上なのに軽快、これが買い切り 5,000 円ぐらいなのだから手頃価格だなぁと。購入前に無料で試用できるので、重さや機能で困って Git GUI クライアントをジプシーしてる人は試してみる価値あると思います。