Why 'git commit --amend' generates different HEAD sha1 each time when no content changes

From: Ping Yin <hidden>
Date: 2016-06-15 22:44:01

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help