Так много коммитов (без филиалов) - PullRequest
0 голосов
/ 05 августа 2011

По ошибке я совершил много дней работы ни к чему. Когда я проверил текущую ветку, git ответил мне (нет ветки).

На самом деле у меня сложилось впечатление, что я совершаю новую ветку (кроме основной), и все идет хорошо. Теперь, когда я возвращаюсь назад и проверяю ветку даже очень старого коммита (около месяца назад), git говорит, что он никуда (то есть без ветки).

Я знаю, что слияние поможет, если это будет только один коммит. Теперь, как мне объединить все предыдущие коммиты с мастером?

Заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 05 августа 2011

Когда вы оформляете заказ в "no ветке", git говорит:

Вы находитесь в состоянии «отсоединенная ГОЛОВА». Вы можете осмотреться, сделать экспериментальные изменения и коммит их, и вы можете отказаться от любых коммитов Вы делаете в этом состоянии, не влияя на какие-либо ветви, выполняя еще одна касса.

Если вы хотите создать новую ветку, чтобы сохранить сделанные вами коммиты, вы может сделать это (сейчас или позже), снова используя -b с командой checkout. Пример:

git checkout -b new_branch_name

Конечно, вы можете объединить столько коммитов, сколько захотите.

Чтобы найти оторванную голову, если вы ее потеряли, вы можете использовать git reflog.

Также вы должны помнить, что оторванная голова может быть собрана мусором.

1 голос
/ 05 августа 2011

Вы, вероятно, зафиксировали на так называемом «отдельном ГОЛОВЕ» (например, после git checkout abc123ef).

Если вы знаете коммит, который вы совершили последним (т.е. HEAD вашей «потерянной» ветви), вы сможете сбросить ветку на этот коммит, и все будет хорошо: git branch -f some-branch cbd131ef.

...