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 - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html