From: Ping Yin Date: Sun, 30 Dec 2007 10:56:26 GMT Subject: Why 'git commit --amend' generates different HEAD sha1 each time when no content changes Message-ID: <46dff0320712300256g36e825a2g711d98b565e361f9@mail.gmail.com> AFAIK, commit sha1 is only determined by commit object content (say parent commit, tree sha1 and so on). So why 'git commit --amend' changes the commit sha1 when no content changes as following shows. $ mkdir A && cd A && echo foo >foo $ git init && git add foo && git commit -m 'add file foo' Created initial commit 8626800: add file foo 1 files changed, 1 insertions(+), 0 deletions(-) create mode 100644 foo $ git commit --amend Created commit 3591035: add file foo 1 files changed, 1 insertions(+), 0 deletions(-) create mode 100644 foo $ git commit --amend Created commit 3927d9a: add file foo 1 files changed, 1 insertions(+), 0 deletions(-) create mode 100644 foo -- Ping Yin