Одинаковые git rebases производят разные хеши - PullRequest
0 голосов
/ 19 июня 2020

Я пытаюсь понять, почему произошло следующее. Скажем, я начинаю с истории фиксации, такой как:

97a231c (daughter1, daughter2) ...
b051699 ...
0bfc754 (old-parent) ...
f46661a (new-parent) ...

На этом этапе я проверяю дочь1 и выполняю перебазирование:

git checkout daughter1
git rebase --onto new-parent old-parent

, что приводит к следующей истории:

48690c3 (daughter1)
5f745e9 ...
f46661a (new-parent) ...

Теперь, поскольку последние два коммита между дочерью1 и дочерью2 идентичны во всех деталях, я бы ожидал, что идентичное перебазирование породит идентичные хэши:

git checkout daughter2
git rebase --onto new-parent old-parent

Однако вторая перебазировка дает мне:

c1cb35b (daughter2) ...
af1e8f7 ...
f46661a (new-parent) ...

Что может привести к тому, что ветки в этих идентичных перебазах расходятся?

1 Ответ

2 голосов
/ 19 июня 2020

Rebases всегда будут создавать разные хэши, даже если содержимое одинаковое, потому что по крайней мере время, когда вы создаете ревизии (время фиксации, один из членов ревизии), не будет таким же ... этого достаточно для создания разных хешей для ревизий.

...