GitUpとは
公式サイト曰く、
Work quickly, safely, and without headaches.
とのことで、速さが売りなGitクライアントソフト。
GitUpの使い勝手などはこちらの記事でまとめていただいてるので参照ください。
[macOS向け] gitのクライアントはGitUpがいいぞ。
是非マウスフリーで使っていただきたい
こちらのソフト、起動から終了までマウスフリーで操作可能なので、速さを追い求める方にはとにかくマウスフリーでの操作をオススメしたいです。
ただ、「そもそもどんな機能があるのよ?」「ショートカット覚えるのめんどい」という声が聞こえてきそうなので、各機能をマウスフリーで操作する手順をまとめました。
インストール
公式サイトからダウンロードできます。
なおhomebrewを使う場合は以下のコマンドでインストールできます。
brew cask install gitup
これでインストールすると後述の設定をしなくてもコマンドラインから起動できるようにしてくれるので楽ちんです。
コマンドラインから起動できるようにする
メニューバーで[GitUp]->[Install Command Tool]とすると、対象のディレクトリで
$ gitup
とするだけでGitUpの起動が可能になります。
各画面の説明
主な画面は3つで、それぞれ以下のショートカットで切り替えられます。
⌘ + 1 ... マップ画面
⌘ + 2 ... コミット画面
⌘ + 3 ... スタッシュ画面

以下各画面の操作について説明します。
なお、今回はLaravelのリポジトリを例にとって説明させていただいております。
コミット画面
皆さんおなじみのコミット画面。
コミットする
コミットしたいファイルを選択してEnterでステージングができます。(全ファイルをステージングしたい場合はS)
ステージングが完了したらTabでフィールドを移動してコミットメッセージを記入、Opt + Enterでコミットできます。
以下はsampleブランチに対してコミットをしており、コミット後にマップ画面へ戻ると「sample commit」がコミットされていることが分かります。

アンステージング or 削除する
アンステージングをしたい時はステージングと同じくファイルを選択してEnterでOK。(全ファイルをアンステージングしたい場合はU)
変更をなかったことにしたい場合はBackSpaceで。
直前のコミットに追加する
Aを押すとコミット時に
$ git commit --amend
を実行してくれるので、変更を直前のコミットに追加することができます。
マップ画面
言わずもがなだと思いますが、非常にシンプルです。
コミットの閲覧、修正などはこちらの画面で行います。
ログを辿る
矢印キーでコミットログを辿り、Spaceでコミット詳細を確認できます。
前後のコミット詳細へ移動したい時は⌘ + ↑(↓)でOK。
マップ画面へ戻りたい時はもう一度SpaceかEscで戻ります。

ブランチを切る
コミットを選択してBでブランチを切ることができます。
チェックアウトしたい時はブランチ上でEnter。
プル & プッシュ
⌘ + Pでプル、⌘ + Shift + Pでプッシュすることができます。
作業の取り消し
直前のコミットやコミットの修正を取り消したいときは⌘ + Zであっさりできてしまいます。
コミットに対して実行した場合は、
$ git reset --soft
を実行した時と同じく修正内容そのものは残ります。
間違ってリセットしてしまった時はShift + ⌘ + Zで元に戻せるので安心。
コミットメッセージの修正
コミット上でEを押すとお手軽にコミットメッセージの修正ができます。

コミットのリライト
コミット後に内容を修正したいという時のために、リライト機能を使用できます。
修正したいコミット上でWでリライト画面へ遷移します。
エディターで内容を修正するとGitUpに変更が反映されるため、Enterした後コミットメッセージを入力してOpt + Enterで修正が反映されます。
以下では例として、README.mdで誤って入力したテキスト
Saaaaaample Message.
を
Sample Message.
に修正しています。

あまり使う機会はないかもしれませんが...
コミットのスプリット
コミット済みのファイル、もしくはその一部を別のコミットに分離させることができます。
Opt + Sでスプリット画面が表示されます。
分離したいファイル(行)をEnterでNew Commitフィールドに移し、Opt + Enterで新旧コミットメッセージをそれぞれ記述してもう一度Opt + Enterで完了です。
以下では例として
README.md
sample.txt
sample2.txt
sample3.txt
に変更を加えたコミットをREADME.mdとそれ以外に分離しています。

こちらも使用頻度は低そうですが、覚えておくと便利かもしれません。
検索
⌘ + Fで検索フィールドを表示し、ブランチ、タグ、コミットを検索することができます。
検索は以下の構文に従って行ってください。(詳細は公式ドキュメントにて。)
指定の文字列を含む
bob* // bob, bobby, etc...
文検索
"alice beats bob"
AND検索(どちらも含まれる)
alice bob もしくは alice AND bob // ANDは大文字
OR検索(どちかが含まれる)
alice OR bob // ORは大文字
NOT検索(前者を含むが後者を含まない)
alice NOT bob // NOTは大文字
その他補助機能
デフォルトだと選択しているコミットのみ吹き出しで情報が表示されるのですが、⌘ + Dでコミット一覧がニュッと出てきてくれます。
(↓は画像です。見つめても何も起こりません。)

同様に、Reflogは⌘ + R、タグ一覧は⌘ + T、スナップショットは⌘ + Sで参照できます。
スタッシュ画面
Sで未ステージングファイルをスタッシュすることができます。

スタッシュを適用したいときはEnterを、
破棄する場合はBackSpaceで実行できます。
こちらも間違って破棄してしまった場合は⌘ + Zで元に戻すことができるのでご安心を。
多分これが一番速いと思います
他のGitクライアントに比べて多機能だったりデザインがお洒落だったりの特徴はありませんが、まさにシンプルイズベストなソフトです。
GitUp触り始めて日が浅い & 他のクライアントソフトと比較していないので根拠は皆無ですが、速さに関していえばGitUpが一番なのでは?
見ているだけでは気持ち良さが伝わらないので、是非とも一度自分で動かしてみてください。
端折った部分も多いのでより詳しく知りたい方は公式ドキュメントをご覧いただけると。
また、「こんな機能もあるよー」等ありましたらコメントいただけると嬉しいです。![]()
ショートカットまとめ
こちらの記事で紹介したショートカットまとめたので参考にどうぞ。
画面切り替え
| 動作 | ショートカット |
|---|---|
| マップ画面を表示 | ⌘ + 1 |
| コミット画面を表示 | ⌘ + 2 |
| スタッシュ画面を表示 | ⌘ + 3 |
マップ画面
| 動作 | ショートカット |
|---|---|
| コミットログを辿る | ↑(↓) ※ マージ済みのコミットも参照したい場合 alt + ↑(↓) |
| チェックアウト | ブランチ上で Enter |
| ブランチを切る | B |
| プル | ⌘ + P |
| プッシュ | ⌘ + Shift + P |
| コミットメッセージ編集 | E |
| リライト | W |
| スプリット | Opt + S |
| 直前の作業取り消し | ⌘ + Z |
| 取り消しの取り消し | ⌘ + Shift + Z |
| コミット詳細 | 対象のコミット上で Space |
| 検索 | ⌘ + F |
| スナップショットを表示 | ⌘ + D |
| Reflogを表示 | ⌘ + R |
| タグ一覧を表示 | ⌘ + T |
| コミット一覧を表示 | ⌘ + S |
| 画面端へ移動 | ⌘ + ↑ (↓,←,→) |
コミット詳細
| 動作 | ショートカット |
|---|---|
| 前後のコミットへ移動 | ⌘ + ↑(↓) |
| 詳細画面を閉じる | Space or Esc |
コミット画面
| 動作 | ショートカット |
|---|---|
| 各フィールドを移動 | Tab |
| ステージング or アンステージング | Enter |
| 変更を破棄 (Discard) | BackSpace |
| 全てのファイルをステージング | S |
| 全てのファイルをアンステージング | U |
| 直前のコミットに追加 | A |
| エディタで開く | O |
| コミット | Opt + Enter |
スタッシュ画面
| 動作 | ショートカット |
|---|---|
| スタッシュ作成 | S |
| スタッシュを適用 | Enter |
| スタッシュを削除 | BackSpace |