When doing a shallow clone in git (using the --depth
option), the root commit is marked as grafted.
From your link:
It works by letting users record fake ancestry information for commits. This way you can make git pretend the set of parents a commit has is different from what was recorded when the commit was created.
In a shallow clone, your root commit is one that should have parents, but not in your repo. So it seems a good use case for grafting.
In effect:
Def.: Shallow commits do have parents, but not in the shallow repo, and therefore grafts are introduced pretending that these commits have no parents.