Mac
Git

[macOS向け] gitのクライアントはGitUpがいいぞ。

ツイッタフォローしてやで(ボソッ https://twitter.com/JotaroUT

いろいろ使ってみたけどGitUp、やめられませんでした。

Macbookをスタバで開いてはプロジェクトをGitで管理する機会の多いであろう諸兄・諸姉のために、独断でイケてるなと思ったgitのGUIクライアントについて紹介したい。その名もGitUp。

GitUp : http://gitup.co/

GitUpとは

GitUpはmacOS用に開発されたgitのGUIクライアントである。
公式ホームページに、

Work quickly, safely, and without headaches.

とあるように、確かに使っている間は頭痛がしない気がする。大きな特徴としては、謳い文句の通り、 早い

ざっくりした使い方

コミットを参照する。

ここでは、openFrameworks (https://openFrameworks.cc) のgithubプロジェクトを例にとって説明する。
既存のローカルリポジトリをGitUpで開くと、このような画面が出てくる

スクリーンショット 2018-05-24 20.21.03.png

おぉ、なんかもうすでに早い気がする。この状態で矢印キーを押すと、ログのツリーのノードを辿れる(青い吹き出しが出てくる。)

ここでスペースキーを押すと、

スクリーンショット 2018-05-24 20.24.16.png

そのコミットの変更点をひと目で見ることができる。矢印キーでコミットファイルを行き来できる。早いCmd+{↑or↓}を押すか、左上のくの字のボタンをクリックすると、そのブランチを前後にたどることができる。Escキーでもとの画面に戻れる。

ブランチを切りたいときは、Bキーを押すだけで、

スクリーンショット 2018-05-24 20.26.55.png

名前何にする?と聞かれるので適当に打つと

スクリーンショット 2018-05-24 20.29.05.png

ブランチが新しくチェックアウトされているのがわかる。

変更をコミットする。

Readme.mdにちょっと失礼して、変更を加えて、Cmd+2でCommit Historyを見ることができる。(ウィンドウ上の3つのビューはCmd+{1,2,3}でそれぞれ切り替えができる。

スクリーンショット 2018-05-24 20.31.49.png

変更点のdiffを見ることができる。変更点をステージングするときは、この状態でEnterを押すだけ。

スクリーンショット 2018-05-24 20.33.01.png

Indexに変更点がステージングされた。(部分的にコミットしたい場合は、右側のコードで対象の行をドラッグして選択したあとにEnterでOK。)早い

コミットメッセージは下の大きなボックスに書き込みすることができる。Working Directory, Index, Commit messageはTabキーでさくさく行き来することができる。

スクリーンショット 2018-05-24 20.40.27.png

下のCommitボタンを押すか、option+Enterでコミットできる。Cmd+1で、コミットが進んでいることを確認できる。

RemoteブランチにPushする。

Cmd+shift+Pで直接Pushできる(リポジトリに権限がないのでこの例では無理)。ここまでマウスフリーでブランチ作成・変更点のステージング・コミット・Pushまでできてしまった。

Pullする。

Cmd+Pでそのブランチの更新をPullできる。

歴史をたどる。

Cmd+1でMapビュー(最初の画面)に戻り、左下にあるShowから、Remote Branch Tips (またはCmd+shift+R)を選択すると、Remoteブランチを表示することができる。
ここで思いっきり下にスクロールすると・・・・

スクリーンショット 2018-05-24 20.46.33.png

なんということでしょう、6年前のコミットログと圧巻のツリーを一望することができる。もちろん方向キーでたどり、スペースキーでログを確認できる。これだけのブランチを表示していてもめちゃくちゃ軽い。 ちなみに、青い吹き出しが出ている状態でEnterキーを押すとそこにチェックアウトできる。6年前までのコミットまでは流石に20秒ぐらいかかったが、直前などのコミットまでであれば一瞬である。

ターミナルから起動したい

メニューバーから Gitup>Install command toolで、ターミナルからGitUpを起動できるようになる。対象のgitリポジトリ下で、

$(openFrameworks/) gitup

とするだけでgitupが一瞬で立ち上がる。GitUpのマウスフリー環境の完成である。

 他のエディタと比較してみて

これまでに

  • Github Desktop
  • SourceTree
  • GitKraken

を使っていたが、GitUpを使い始めてからは一度も帰ってきていない。どちらもショートカットキーも充実しているし機能的ではあるのだが、GitUpのほうがとにかくシンプルである。故に、なんとも言えない使いやすさを感じてしまった。(ここで言うのも申し訳ないのだが、どちらもフルに機能を使いきっているわけではないですm(_ _)m)

Github Desktopとの比較

かなり優秀なGitクライアントで、特にこのアプリからPRを作成できたりもする。チュートリアルも充実していて、初めてGitクライアントを使う人にとっては優しいアプリと言える。私も最初はずいぶんお世話になっていた。しかしながらブランチ・コミットの切り替えが結構めんどくさいのである。ブランチ切り替え用のボタンまでマウスを運んでブランチを選んで・・・という作業が若干面倒くさいのである。PR作成機能に関しては、正直Webインタフェースのほうが充実しているのでそっちを使ってしまう。
スクリーンショット 2018-05-24 21.03.48.png

SourceTreeとの比較

SourceTreeは機能性抜群で、ブランチごとのコミットログも簡単に一覧できるインタフェースを備えているが、特殊な機能があまりにも多すぎる気がする。フル活用すれば活躍の幅は広がると思われるが、その前にGitUpに惚れてしまったため、その機会も今の所無いのである(完全に個人的意見)。ただ明らかにビューの種類が多く複雑で、過去のログを見ようとするとカクついたりもする。

スクリーンショット 2018-05-24 21.06.25.png

GitKrakenとの比較

使ったことはあったがこれはほぼ使えるようになる以前の問題で止めてしまって、更新で追加するという事態になって申し訳ないです。とりあえずイカが可愛く、ホームページが洒落ていて、なんだかいい感じじゃんと思ってはいた。
スクリーンショット 2018-05-26 08.21.29.png
にょーん にょーん
・・・。
イカはたしかに可愛いが、起動に7秒もかかっている。Gitクライアントとしては明らかに不必要な時間をかけて起動している。その後にさらにOpening App... Opening Repo... と表示されて時間がかかっており、余計な処理までしまっているのではと思うぐらい 遅い 。今回のテーマは「早い」だけに、ここでは残念ながら批判的にならざるを得ない。

スクリーンショット 2018-05-26 08.39.26.png
ナビゲーションもGitUpと比べれれば直感的とは言えず、十分に慣れるまでは「ステージングどうするんだっけ」となってしまう。SourceTreeと近いものを感じる。GitUpと比べてもンタンッンタンッとキーを叩いて仕事を済ませる気持ちよさはなかった。

さらにもう一つ、重大な課題を抱えているのに気づいてしまった。お気づきの諸兄・諸姉もいらっしゃるだろう。そう、GitKrakenはCPU使用率が極めて高い。普通に使っているとGitKraken.appだけではなくGitKraken Helperなるプロセスも実行されており、平均して70%以上ものCPU使用率を塩漬けにしている。うすうす雰囲気は感じていたが、黒幕としてGitKrakenはelectron Appであり、クロスプラットフォームではあるが重いという欠点を持つ。いくらelectronとはいえ、git処理にそこまで重くなくていいと感じるので、どこかで無駄な処理があるのだろうと思う。

早いとやっぱり気持ちいい。

快適な作業環境にはサクサク動くインタフェースが欠かせないものである。思考と身体、視覚フィードバックの間の時間間隔が少しでも縮むだけで、作業の気持ちよさはぐっと向上する。特にソフトウェア開発に慣れてくるとマウスをも使いたくなくなり、なるべくキーボード上でインタフェースを行き来したくなるが、GitUpはそういった作業環境をよく考えて作られてあるように思う。必要な作業がサクサクできるようにあらゆるムダを省いたシンプルなgitクライアントだと思うので、是非試してもらいたい。

(なお、このクライアントでもこういうことできるよというのがあれば是非コメントを寄せていただきたいですm(_ _)m)