Как я могу получить коммиты в «перезаписанной» ветке в Git? - PullRequest
2 голосов
/ 18 декабря 2009

Фон

Я работаю только с одной веткой - master.

        3---------2---------
                            |
6-------5---------4---------1----------

Я сделал коммиты 1-3, затем понял, что хочу работать с коммитом 1 для следующего раздела работы. Я проверил коммит 1, затем сделал коммиты 4-6. По электронной почте Ой. В коммите 3 содержится важная информация, которая мне нужна.

Проблема

Когда я делаю журнал git или просматриваю все ветки в GitX, я вижу только следующее:

6-------5---------4---------1----------

Как я могу объединить биты коммитов 3 с коммитом 6? (Это называется ГОЛОВА?)

Я потерял коммиты 2 и 3?

Я знаю, что я виноват в том, что не создал новую ветку, но означает ли это, что эти коммиты потеряны?

Я все еще новичок в Git (несмотря на то, что использую его около 6 месяцев) и все еще нахожу это в замешательстве, поэтому, пожалуйста, будьте осторожны!

1 Ответ

12 голосов
/ 18 декабря 2009

Вы не потеряли коммиты. Они доступны в reflog.

Запустите git reflog и найдите коммиты.

Если вы хотите, чтобы результат выглядел как 6-5-4-3-2-1, оформите 6 и перебазируйте его на 3.

...