2014-12-04 12 views
8

Wenn Sie einen flachen Klon in Git ausführen (unter Verwendung der Option --depth), wird der Root-Commit als transplantiert markiert.Was genau ist ein "gepfropftes" Commit in einem flachen Klon?

enter image description here

googeln führen zu keiner satisfacting Dokumentation.

Es scheint nichts mit git grafts zu tun, was die ähnliche Terminologie bedeuten würde.
Ist es nur eine Flagge, um zu signalisieren, dass dieses Commit tatsächlich mehr Eltern hat und nicht das "echte" Root-Commit ist? Oder gibt es etwas Besonderes?

Antwort

5

Von Ihrem Link:

Es funktioniert, indem für Commits Benutzer aufzuzeichnen gefälschte Informationen über seine Vorgänger im Stich gelassen. Auf diese Weise können Sie git so tun, als ob die Menge der Eltern, die ein Commit hat, sich von der unterscheidet, die beim Erstellen des Commits aufgezeichnet wurde.

In einem flachen Klon, Ihre Wurzel begehen ist eine, die sollte Eltern haben, aber nicht in Ihrem Repo. Es scheint also ein guter Anwendungsfall für das Pfropfen zu sein.

In effect:

Def .: Shallow Commits Eltern tun haben, aber nicht in der flachen Repo, und daher so zu tun Transplantate werden eingeführt, dass diese Commits keine Eltern haben.