Why 'git commit --amend' generates different HEAD sha1 each time when no content changes
- From
Ping Yin <pkufranky@gmail.com>
- Date
- Dec 30, 2007, 10:56 UTC
- 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