情報科学 › ソフトウェア開発 › バージョン管理システム Git

fast-forward の特徴づけ

命題 5.3(「バージョン管理システム Git」§5) ・ ✓公理まで証明済み

コミット aa(現在の HEAD が指すコミット)と bb(取り込む相手のコミット)について、CA(a,b)≠∅\mathrm{CA}(a,b) \neq \emptyset とする。このとき次の 2 つは同値である。

  1. a⪯ba \preceq b、すなわち aa は bb の祖先である。
  2. CA(a,b)\mathrm{CA}(a,b) の極大元がちょうど aa ただ 1 つである(マージベースが aa 自身)。

さらにこのとき、ベースを aa の木、2 つの版を aa の木と bb の木として 3-way マージを行うと衝突は起きず、結果は bb の木に一致する。したがって Git は新しいコミットを作らず、ブランチの参照の値を aa から bb に書き換えるだけでよい。この操作を fast-forward という。

本文で読む(証明と前後の説明)→

閉包の状態

✓ 公理まで証明済み

証明が使う定理を 前提 としてたどると、Rikai の中の証明だけで定義・公理(物理では基本仮定)までつながっています(前提の定理類 2 件、定義なども含めて 3 件)。

印の意味: ✓公理まで証明済み ・ △証明あり(閉包未完)・ ※主張のみ。テーマごとの集計は 閉包の状況。

前提をたどる 証明が使う定理・定義(直接 2 件)

▸ を開くと、その項目の証明が使う前提が出ます。深い先は各項目のページでたどれます。

これを使っている定理

証明で明示的に参照している定理は、まだありません。

関連するノック 1 問