Git Pro 复现commit id How does Git create unique commit hashes, mainly the first few characters? Git uses the following information to generate the sha-1: The source tree of the commit (which unravels to all the subtrees and blobs) The parent commit sha1 The author info (with timestamp) The committer info (right, those are different!, also with timestamp) The commit message 完整