2011-02-24 16 views

回答

7

提交的SHA1取決於提交的所有內容,包括元數據。具體來說,它取決於提交時間戳。您的兩次重新提交具有新的時間戳,因此它有一個新的SHA1。

(請注意,最初編寫時有一個「作者日期」,當記錄實際提交時有一個「提交者日期」,只有後者發生了變化。只需看看gitk中的提交。)

+0

有趣。令我感到困惑的是,當沒有額外的提交通過新基地進行重新投標時,它並沒有改變SHA1。我猜如果你有新的基礎之外的額外工作,它需要創建新的提交,並因此創建一個新的時間戳。 – jonderry 2011-02-24 05:10:16

+0

@jonderry:我相信rebase足夠聰明,如果沒有必要,就不會做任何事情。 – Cascabel 2011-02-24 05:47:19

+1

我不會像* history *那樣指出時間戳。一個提交有一個父項,並且包含在哈希中。如果父母更改,則提交更改。如果父母沒有改變,而且沒有其他任何關於提交的內容正在改變,那麼沒有必要做任何事情。 – Dustin 2011-02-24 08:05:19