Почему хеши всех коммитов изменились, когда я перебазировал WSL git? - PullRequest
0 голосов
/ 08 мая 2020

У меня есть репозиторий , клонированный с помощью Windows git, когда я попытался перебазировать репозиторий с помощью WSL git, происходит что-то странное.

Вот мой ввод

pick 9f37600 Initial commit
pick 1942413 refactor: remove useless pages
pick ded8102 WIP 1
pick dde7c08 WIP 2
pick cc2334e WIP 3
pick 6567c27 WIP 4
pick 918a347 WIP 5
pick 0f4e802 WIP 6
pick ebacf31 WIP 7
pick 50d48e4 WIP 8
pick d36f95c WIP 9
pick b7e7065 WIP 10
pick a6bc8a6 WIP 11
fixup 7607be9 WIP 12

Когда я перебазирую с помощью Windows git, фиксация из «Первоначальной фиксации» в «WIP 10» не затрагивается и фиксируется только ha sh из «WIP 11» изменилось. Однако WSL git изменил хэши всех коммитов.

Как я могу избежать изменения WSL git хешей других коммитов?

1 Ответ

0 голосов
/ 17 мая 2020

Возможно, для этого вопроса нет исправления.

Я запускал git cat-file commit <SHA> на «той же» фиксации до и после перебазирования. Я обнаружил, что WSL git изменяет временную метку коммиттера при перебазировании, поэтому ha sh также изменяется. Напротив, Windows git использует старую временную метку коммиттера, поэтому ha sh остается измененным после операций перебазирования.

Вот cat-файл фиксации перед перебазированием.

tree 7d804c5a84c61fbdc26ed443a7b9900fcf536d0f
author my-name <my-name@example.com> 1578669828 +0800
committer my-name <my-name@example.com> 1582870913 +0800

Initial commit

Вот cat-файл после его перебазирования с помощью WSL git.

tree 7d804c5a84c61fbdc26ed443a7b9900fcf536d0f
author my-name <my-name@example.com> 1578669828 +0800
committer my-name <my-name@example.com> 1589713427 +0800

Initial commit
...