いろいろ使ってみたけど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で開くと、このような画面が出てくる
おぉ、なんかもうすでに早い気がする。この状態で矢印キーを押すと、ログのツリーのノードを辿れる(青い吹き出しが出てくる。)
ここでスペースキーを押すと、
そのコミットの変更点をひと目で見ることができる。矢印キーでコミットファイルを行き来できる。早い。左上のくの字のボタンをクリックすると、そのブランチを前後にたどることができる。Escキーでもとの画面に戻れる。
ブランチを切りたいときは、B
キーを押すだけで、
名前何にする?と聞かれるので適当に打つと
ブランチが新しくチェックアウトされているのがわかる。
変更をコミットする。
Readme.md
にちょっと失礼して、変更を加えて、Cmd+2
でCommit Historyを見ることができる。(ウィンドウ上の3つのビューはCmd+{1,2,3}
でそれぞれ切り替えができる。
変更点のdiffを見ることができる。変更点をステージングするときは、この状態でEnter
を押すだけ。
Indexに変更点がステージングされた。(部分的にコミットしたい場合は、右側のコードで対象の行をドラッグして選択したあとにEnter
でOK。)早い。
コミットメッセージは下の大きなボックスに書き込みすることができる。Working Directory, Index, Commit messageはTab
キーでさくさく行き来することができる。
下の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ブランチを表示することができる。
ここで思いっきり下にスクロールすると・・・・
なんということでしょう、6年前のコミットログと圧巻のツリーを一望することができる。もちろん方向キーでたどり、スペースキーでログを確認できる。これだけのブランチを表示していてもめちゃくちゃ軽い。 ちなみに、青い吹き出しが出ている状態でEnter
キーを押すとそこにチェックアウトできる。6年前までのコミットまでは流石に20秒ぐらいかかったが、直前などのコミットまでであれば一瞬である。
ターミナルから起動したい
メニューバーから Gitup>Install command tool
で、ターミナルからGitUpを起動できるようになる。対象のgitリポジトリ下で、
$(openFrameworks/) gitup
とするだけでgitupが一瞬で立ち上がる。GitUpのマウスフリー環境の完成である。
他のエディタと比較してみて
これまでに
- Github Desktop
- SourceTree
を使っていたが、GitUpを使い始めてからは一度も帰ってきていない。どちらもショートカットキーも充実しているし機能的ではあるのだが、Githubのほうがとにかくシンプルである。故に、なんとも言えない使いやすさを感じてしまった。(ここで言うのも申し訳ないのだが、どちらもフルに機能を使いきっているわけではないですm(_ _)m)
Github Desktopとの比較
かなり優秀なGitクライアントで、特にこのアプリからPRを作成できたりもする。チュートリアルも充実していて、初めてGitクライアントを使う人にとっては優しいアプリと言える。私も最初はずいぶんお世話になっていた。しかしながらブランチ・コミットの切り替えが結構めんどくさいのである。ブランチ切り替え用のボタンまでマウスを運んでブランチを選んで・・・という作業が若干面倒くさいのである。PR作成機能に関しては、正直Webインタフェースのほうが充実しているのでそっちを使ってしまう。
SourceTreeとの比較
SourceTreeは機能性抜群で、ブランチごとのコミットログも簡単に一覧できるインタフェースを備えているが、特殊な機能があまりにも多すぎる気がする。フル活用すれば活躍の幅は広がると思われるが、その前にGitUpに惚れてしまったため、その機会も今の所無いのである(完全に個人的意見)。ただ明らかにビューの種類が多く複雑で、過去のログを見ようとするとカクついたりもする。
早いとやっぱり気持ちいい。
快適な作業環境にはさくさく動くインタフェースが欠かせないものである。思考と作業、視覚フィードバックの間の時間間隔が少しでも縮むだけで、作業の気持ちよさはぐっと向上する。特にソフトウェア開発に慣れてくるとマウスをも使いたくなくなり、なるべくキーボード上でインタフェースを行き来したくなるが、GitUpはそういった作業環境をよく考えて作られてあるように思う。必要な作業がサクサクできるようにあらゆるムダを省いたシンプルなgitクライアントだと思うので、是非試してもらいたい。
(なお、このクライアントでもこういうことできるよというのがあれば是非コメントを寄せていただきたいですm(_ _)m)