Git

PATerminalは、Gitを必要な場所に置いています。各ペインにはそれぞれのリポジトリの状態が表示され、Gitウィンドウではコミット、履歴、ブランチを扱える本格的なクライアントを使えます。すべての操作はお使いのコンピューターのgitで実行されます。

PATerminal v1.8.3 時点の内容です

ペインバーのGit

ペインがリポジトリ内にあるとき、上部のバーには現在のブランチ、先行しているコミット数(↑)と遅れているコミット数(↓)、変更されたファイル数が表示されます。その横には次のボタンが並びます。

ブランチ名
ブランチ一覧を開きます。ローカルブランチが先に、リモートにしかないブランチがその後に並びます。ブランチをクリックする(またはEnterを押す)と切り替わります。存在しない名前を入力してEnterを押すと、そのブランチを作成して切り替えます。別のworktreeでチェックアウト中のブランチには印が付き、選べません。
Diff
Gitウィンドウを開かずに、このペインのフォルダーの未コミットの変更を表示します。
Worktree
このリポジトリのworktreeを作成します。Worktreeをご覧ください。
Commit
Gitウィンドウのファイルステータスを、メッセージ欄にフォーカスした状態で開きます。
Fetch / Pull / Push
取り込める変更があるとPullが強調表示されます。upstreamが設定されていない場合は、リモートの既定ブランチ(例: origin/main)からPullします。取り込み元はツールチップで確認できます。Pushは、まだPushしていないコミットがあるときに表示されます。

Gitウィンドウ

ツールバーのGitをクリックするかCmd/Ctrl+Eを押すと、フォーカス中のターミナルのリポジトリについてGitウィンドウが開きます。ツールバーのバッジは変更されたファイル数です。閉じるにはEsc、×ボタン、またはもう一度Cmd/Ctrl+Eを押します。端をドラッグするとサイズを変えられ、ハンドルをダブルクリックすると元に戻ります。

左側ではファイルステータス、履歴、検索、worktree、Issue、プルリクエストを切り替えられ、ブランチ(/ごとにフォルダーにまとめて表示)、リモート、タグが一覧表示されます。refをクリックすると履歴でそのコミットを表示し、ブランチをダブルクリックするとチェックアウトします。

変更を確認してコミットする

  1. Gitウィンドウを開きます。最初はファイルステータスが表示され、未コミットのファイルがすべて、状態と行数の増減とともに並びます。
  2. ファイルをクリックすると、行番号付きのdiffが表示されます。このコミットに含めたくないファイルはチェックを外します。
  3. コミットメッセージにメッセージを入力します。すぐにPushしたい場合はコミット後にPushにチェックを入れます。
  4. Commitを押すか、Cmd/Ctrl+Enterを押します。

すべての差分を押すと、作業ツリー全体のdiffを大きなビューアーで開きます。ビューアーでは長い行が折り返され、ファイル一覧の端をドラッグして幅を広げることもできます。

履歴を見る

履歴では、ローカルとリモートのすべてのブランチとタグにわたるコミットグラフを表示します。コミットを選ぶと、その下に変更ファイルとパッチが表示されます。検索では、メッセージ、作者、ハッシュで絞り込めます。

コミットを右クリック → このコミットまで巻き戻す…で、ブランチをそのコミットまでリセットします。それより後のコミットは現在の履歴から外れ、追跡中のファイルの未コミットの変更は破棄されます(未追跡のファイルは残ります)。そのため、実行前に確認が表示されます。

Pull、Push、Fetch、Stash

Pull
ブランチを切り替えずに、現在のブランチへ取り込むリモートブランチを選べます。
Push
現在のブランチをPushします。初回のPushではupstreamも設定します。
Fetch
すべてのリモートから更新を取得します。
Stash
未追跡のファイルも含めて変更をスタッシュへ退避します(git stash push -u)。

Gitを実行できないとき

コンピューターの環境が原因でgitが動かない場合、PATerminalは理由と1行の解決コマンドを表示します。ターミナルに入力でコマンドを入力するか(Enterは自分で押します)、コピーしてください。Xcodeのライセンスへの未同意、Command Line Toolsの欠落、Gitの未インストール、別のユーザーが所有するフォルダー(“dubious ownership”)、Windowsの長いパスの制限を検出できます。

解決しませんか?

FAQをご確認いただくか、お使いのOS、PATerminalのバージョン、試したことを添えてメールでお問い合わせください。すべてのメッセージに返信します。