假设您有以下修订图,c为当前分支:
c a
\ /
b
git rebase --onto a b
创建以下内容:
c
/
a
/
b
和git rebase --onto b a
将图表返回到:
c a
\ /
b
但是,在两次重新划分之前,c的新SHA1与c的旧SHA1不同。为什么会这样?
答案 0 :(得分:7)
提交的SHA1取决于提交的所有内容,包括元数据。特别是,它取决于提交时间戳。你的两次重定位提交有一个新的时间戳,所以它有一个新的SHA1。
(注意,最初编写时有一个“作者日期”,以及记录实际提交时的“提交者日期”。只有后者发生了变化。要自己查看,请使用{{1}或者只是查看git log --pretty=fuller
中的提交。)