Skip to main content

Category

Git の仕組み・リポジトリ運用ガイド(オブジェクトモデル/参照とreftable/インデックスと3-wayマージ/パックファイルとデルタ圧縮/reflog・fsckによる復旧/SHA-256とGit 3.0)

Git のコマンド体系は歴史的経緯の塊で、暗記に向いていません。一方で中身は単純です——内容のハッシュをキーにした追記専用のオブジェクトDB、そこを指す41バイトの参照、そして次のコミットの下書きであるインデックス。この3つが分かれば、reset の --soft/--mixed/--hard が何を壊すのか、rebase がなぜ「移動」ではなく「作り直し」なのか、force push がなぜ危険なのか、コンフリクトの stage 1/2/3 が何なのかを、すべて導出できます。本クラスタは Git 公式ドキュメント(gitformat-pack / gitformat-index / merge-strategies / reftable / BreakingChanges)を一次情報に、内部構造と、そこから導かれる事故復旧の手順を扱います。Git 3.0 で既定になる SHA-256・reftable・safe.bareRepository=explicit まで、いま知っておくべき変更も含めて整理します。

2 articles in total