Search code examples
gitgit-clone

What is git doing when it says it is "resolving deltas"?


During the first clone of a repository, git first receives the objects, and then spends about the same amount of time "resolving deltas". What's actually happening during this phase of the clone?


Solution

  • Git uses delta encoding to store some of the objects in packfiles. However, you don't want to have to play back every single change ever on a given file in order to get the current version, so Git also has occasional snapshots of the file contents stored as well. "Resolving deltas" is the step that deals with making sure all of that stays consistent.

    Here's a chapter from the "Git Internals" section of the Pro Git book, which is available online, that talks about this.