Git rebase коммит выбора - PullRequest
       3

Git rebase коммит выбора

5 голосов
/ 24 ноября 2011

У меня есть git tree, которое выглядит следующим образом:

enter image description here

Из-за инструмента обзора, который мы используем, мы выбираем изменения, а не объединяем их. Это оставляет нам некоторые логические дубликаты, ветвь которых я затем просто удаляю. Например, изменение ниже ssl_tests "Изменение: изменение имени ..." также можно увидеть в dev.

Теперь, возможно, это недостаток понимания с моей стороны вишневого пика, но у этих коммитов разные хэши, и поэтому разные коммиты правильны? Даже если они логически одинаковы.

Однако, когда я перебираю ssl_tests в dev, git удается выяснить, что эти выбранные вишни коммиты находятся в восходящем потоке, а затем только перебазируют коммит "Новая функция: юнит-тесты ..." из ssl_tests.

Как обычно, с git это здорово! Это именно то, что я хочу! Мой вопрос, однако, как git выясняет, что ему не нужно перебазировать другие коммиты, если у них разные хеши?

Спасибо! Стивен

1 Ответ

5 голосов
/ 24 ноября 2011

Git смотрит здесь не только на SHA1. Это на самом деле рассматривает содержание коммита. Он видит, что деревья, полученные в результате применения фиксации и не применения фиксации, одинаковы; то есть фиксация будет пустой, если применить ее к новой базе. Таким образом, rebase достаточно умен, чтобы знать, что не стоит беспокоиться о таких коммитах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...