デスクから離れている最中に、どうしても今すぐGit操作を行わなければならない状況はよく起こります。CIビルドが赤くなりチームメンバーの作業が止まったとき、誰かがコミットしたコードの変更差分を至急確認したいとき、あるいは通信が切れる前に手元の作業をスタッシュしておきたいときなどです。
そうした事態は、オフィスや自宅に戻るまで待ってはくれません。iPhoneからGitをスマートに操作する現実的な手法と、最も役立つコマンド集をまとめました。
iPhoneでGitを扱う3つの選択肢
1つ目は、リモートのLinuxサーバーにSSH接続する方法です。TermiusなどのSSHクライアントを使いますが、普段からそのサーバー上に全リポジトリを同期していなければ機能しません。
2つ目は、Working CopyのようなiOS専用のGit GUIアプリを使う方法です。GUI上で差分確認やコミットが行えて便利ですが、任意のビルドコマンドやスクリプトを走らせることはできません。
3つ目で最も合理的かつシンプルなのが「手元のMacに直接接続すること」です。Macにはすべてのリポジトリ、GitHubやGitLabと認証済みのSSHキー、普段使っている便利なエイリアスやgitconfigが最初から揃っています。
Mackyを使えば、iPhoneからMacのシェルに暗号化WebRTCで直結し、デスクにいる時と全く同じGitコマンドをそのまま実行できます。
スマホで真に役立つ必須コマンド
スマートフォンでの操作では、複雑な対話的リベースなどは行いません。「状態を素早く確認し、プルし、修正し、プッシュして離脱する」ことが肝心です。
現在の状況を確認する
git status基本中の基本です。現在のブランチ、ステージされた変更、未追跡ファイルがひと目で分かります。
git log --oneline -10直近10件のコミットを1行形式で簡潔に表示します。
最新の変更を取得する
git pull origin main差分(diff)を確認する
git diff HEAD~11つ前のコミットとの差分を表示します。直前のプッシュ内容をサッと確認するのに重宝します。
git show <commit-hash>変更を一時退避(スタッシュ)する
git stashgit stash pop安全にプッシュする
git push origin HEADブランチ名を毎回入力しなくても、現在チェックアウト中のブランチを確実にプッシュできます。
実戦例 1: 移動中のバスでCIが赤くなったとき
SlackでCI失敗の通知が届き、同僚があなたの修正を待っている状況です。MackyでMacに接続し、プロジェクトディレクトリで履歴を確認します:
cd ~/projects/my-app && git log --oneline -5問題のコミット内容を確認します:
git show abc1234環境変数名の誤記など軽微な修正なら、nanoで直して即プッシュします:
nano src/config.jsgit add src/config.js && git commit -m "fix: correct env variable name" && git pushもし修正に時間がかかりそうなら、コミットをrevertしてチームの作業ブロッカーをひとまず解除できます:
git revert abc1234 --no-edit && git pushMac側にGitエイリアスを設定しておこう
スマホのソフトウェアキーボードで長いコマンドを打つのは大変です。Macの ~/.gitconfig に短縮エイリアスを登録しておけば、Mackyから接続した際もそのまま利用できます:
[alias]
st = status
lg = log --oneline -10
co = checkout
di = diff
p = push origin HEAD
ri = rebase -iこれだけで git st や git lg など、最小限のタイピングで快適に操作できるようになります。
関連ガイド・比較記事
Macのターミナルを、いつでもポケットに。
ポート開放やVPN設定は一切不要。iPhoneから自宅やオフィスのMacへWebRTCでセキュアに直結し、デスクトップ画面とネイティブシェルを遠隔操作。まずは無料でお試しいただけます(買い切り $29・サブスクなし)。