2

コミット後、私はこれを私の中に持っていますgit log

    commit 86270b43fe954e78733f1a8f0c4378b954ad9de4
    Author: abc <abc@abc.com>
    Date:   Sat Aug 31 12:04:32 2013 -0700

        Adding file1 and file2

それから私はします

    abc@abc-ubuntu:~/gittest$ git commit --amend

しかし、何も変更せずにエディターバッファーを保存します

git logもう一度やり直すとわかります

    commit 632c8ddff3fd023e947e76350e0678ba2f04706d
    Author: abc <abc@abc.com>
    Date:   Sat Aug 31 12:04:32 2013 -0700

        Adding file1 and file2

途中で何も変更しなかったにもかかわらず、2 つのコミットの sha1sum が異なることに注意してください。git commit --amend

4

2 に答える 2

2

git commit --amendはい、これは正しいです。ファイルやコミット メッセージを変更しない場合でも、タイムスタンプが異なる新しいコミット オブジェクトを作成しているため、SHA-1 チェックサムが異なることに注意してください。これは、各コミットには 2 つのタイムスタンプがあるためです。作成者によって作成されたとき (既定では git ログに表示されます) と、コミットされたとき (既定では非表示) です。

タイムスタンプを含め、コミットオブジェクト内のすべてを完全に複製できた場合、これは起こりませんでした。

于 2013-08-31T19:17:31.340 に答える