Что происходит с оригинальными коммитами, когда мы используем интерактивный ребаз? - PullRequest
3 голосов
/ 27 января 2020

Я пытаюсь интерактивный ребаз. Предполагая, что у меня есть линейная основная ветка с 6 коммитами, а HEAD находится на 6-м коммите, и я запускаю git rebase -i HEAD ~ 4, тогда он позволяет мне выбрать / отредактировать / split / squa sh HEAD и последние 3 коммита.

Как только я выполню какое-либо действие и завершу операцию ребазирования, он повторяет коммиты поверх HEAD ~ 4. Теперь у них есть новые идентификаторы коммитов, и заголовок указывает на самый последний (выбранный) коммит.

Я хочу знать, что именно происходит с оригинальными коммитами? Они удалены, их можно извлечь?

1 Ответ

4 голосов
/ 27 января 2020

Когда на коммит больше не ссылаются ветвь или тег, он часто все еще находится в reflog .

Но когда даже рефлог очищается и коммит не выполняется не ссылается на все , затем становится кандидатом на сборку мусора и в конечном итоге удаляется, в зависимости от вашей g c конфигурации .

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