リポジトリと履歴

コミットグラフ

ブランチも、マージも、オクトパスマージも、ライトでもダークでもきちんと描かれます。 描画はウィンドウ方式なので、10 万コミットのリポジトリでも 100 コミットのリポジトリと 同じようにスクロールします。

コミットグラフ、ライト コミットグラフ、ダーク

動き回る

  • ↑ ↓(または j k)で選択を移動します。
  • ⌘/Ctrl + クリックでコミットを 複数選択 に出し入れし、 ⇧ + クリックで範囲を選びます。複数を選んだ状態で右クリックすれば、 現在のブランチへまとめてチェリーピックしたり、連続した範囲をスカッシュしたり、 1 つにまとめたパッチを書き出したり、SHA をコピーしたりできます。
  • 直近のフェッチやプル で届いたコミットには、新着の印が付きます。チェックアウト中の ブランチにまだ入っていないものは、プルで取り込まれるまで少し半透明のままです。
  • コミットを右クリックすると 修正、取り消し、コミットへリセット…、 GitHub で見る のほか、チェックアウト、チェリーピック、リバート、ブランチ、 タグ、コピーが使えます。危険な操作は表示されたまま無効になります。

見たいものだけを見る

  • グラフのフォーカスは、履歴をどこまで描くかを決めます。設定 → テーマ → グラフ、またはグラフのヘッダーにある歯車メニューから。すべては全部を描き、 直線的な履歴(first-parent)は幹だけを残し、マージ済みブランチを隠すは幹と まだマージされていないブランチを残し、ソロモードは自分のブランチ、スター付きの ブランチ、既定のブランチを残します。

    絞り込むのはログが読み込み済みの範囲だけです。マージ済みブランチを隠すは 「現在のブランチに含まれているか」という git 自身の答えに従うため、ブランチを 切り替えると隠れるものも変わります。また、タグや判別できない参照がまだ指している コミットは残します——削除されたブランチが残すのがまさにそれです。直線的な履歴 とソロモードはもっと大雑把で、隠したコミットの上にあるタグやスタッシュは一緒に 消えます。

  • パスで絞り込む: ファイルやフォルダを右クリック → このパスでグラフを絞り込む を選べば、それに触れたコミットだけが灯ります。

1 つのパスに絞り込まれたグラフ

  • 列: ブランチ、メッセージ、作者、日付、SHA、署名、デプロイの各列を表示・非表示・ リサイズ・並べ替えできます。
  • スタイル: 設定 → テーマ → グラフ — レーンの配色(組み込み 8 種、カスタム、 AI 生成)、角の形、行の密度、線の太さを、ミニグラフのライブプレビュー付きで。

ライブプレビュー付きのグラフスタイル設定

スタッシュの置き場所

スタッシュは独自の行として描かれ、取ったコミットから破線のスパーでぶら下がり、 幹を押しのけません。入るのはその親コミットのすぐ上の行であり、自分の日時が 取るはずの枠ではありません。

印は点線の枠に入ったアーカイブ箱です。スタッシュ一覧、コマンドパレット、詳細 ヘッダーと同じアーカイブ記号で、グラフがアプリの他の場所と同じ呼び方をするように しています。点線の枠がコミットとの違いです。親のひとつ上に座る以上、「これは ブランチの一部ではない」は形が担います。

スタッシュはほとんどいつも、座っているコミットより新しいので、日時順にすると 無関係なコミットのあいだへ浮かび上がり、つなぎがグラフの半分を横断します。親こそ スタッシュが本当に関わる唯一の行なので、そこに隣ります。

限界: 親コミットが読み込み済みの窓にないスタッシュ——刈り込まれた、あるいはログの 末尾の先——は錨がなく、親が載るまで日時順に戻ります。直線的な履歴とソロモード は、落とす親の上のスタッシュも一緒に落とします。上で述べたとおりです。

コミットの詳細

コミットを選ぶと、変更されたファイル(ツリー表示またはフラット表示)、作者、SHA、 共著者、そして署名が表示されます。 ファイル一覧の上のヘッダーは件数を種類ごとに分け、行のグリフと同じ色で出します。カーソルを置くと素の合計が出ます。#123 の参照や @mentions は、あなたのホストへ 自動でリンクされます。

ファイル一覧はいつもの操作で複数選択できます(⌘/Ctrl+クリック、⇧+クリック、⇧+↑/↓)。選択範囲を右クリック → {n} 件のファイルを作業ツリーへ復元 で、このコミット時点そのままの内容を持ってきます。1 回の確認のあと作業コピーを上書きし、HEAD にもインデックスにも触れません。

コミットの詳細をたどる

関連項目: blame とファイル履歴 · 検索 · タイムマシン

この翻訳を GitHub で改善