web-dev-qa-db-ja.com

浅いクローンの「移植された」コミットとは正確には何ですか?

Gitで浅いクローンを作成するとき(--depthオプション)、ルートコミットはgraftedとしてマークされます。

enter image description here

グーグル操作を行っても、満足できるドキュメントは作成されませんでした。

gitrafts とは何の関係もないようですが、これは同様の用語が示唆するものです。
これは、このコミットに実際にはより多くの親があり、「実際の」ルートコミットではないことを示す単なるフラグですか?それとも何か特別なことはありますか?

32
Sascha Wolf

あなたのリンクから:

これは、ユーザーにコミットの偽の祖先情報を記録させることで機能します。このようにして、コミットが持つ親のセットをgitに見せかけることができます。これは、コミットの作成時に記録されたものとは異なります。

浅いクローンでは、あなたのrootコミットは、親が持つべきコミットです、しかしあなたのリポジトリにはありません。だから、移植の良いユースケースのようです。

実質的に

Def .:浅いコミットには親はありますが、浅いリポジトリにはないため、これらのコミットには親がないふりをして移植が導入されます。

21
mgarciaisaia