gpt4 book ai didi

git rebase -i -- 为什么要更改提交哈希值?

转载 作者:太空狗 更新时间:2023-10-29 12:57:16 24 4
gpt4 key购买 nike

所以我或多或少熟悉 rebase 的工作原理,但直到最近我通常只是执行 git rebase -i HEAD~20,然后修改任何需要修改的地方。

我很惊讶地得知这将修改所有 20 次提交的哈希值,即使我采取的唯一操作是压缩最后两次。

不过,我不确定是什么原因导致其他 18 次提交的哈希值发生变化,因为它们的父项和内容都没有变化……或者是这样吗?也许是时间戳?

还有什么办法可以避免吗?

最佳答案

来自rebase doc :

The commits that were previously saved into the temporary area are then reapplied to the current branch, one by one, in order.

当提交被“重新应用”时,它实际上是在创建一个全新的提交......它的内容可能是相同的,但是它会有不同的时间戳,这是它的 SHA 生成方式的一部分...因此新提交将具有新的 SHA。

您可以阅读有关如何计算 SHA 的更多信息 here .

关于git rebase -i -- 为什么要更改提交哈希值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48626847/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com