2016-05-25 2 views
3

Я переделал себя в угол. Две вещи, которые должны произойти, являются:Как вернуться к прежней Git-фиксации, а затем сохранить ее в отдельной ветке?

  1. Как вернуться к более ранней версии моего кода работает ... и одновременно,

  2. Как то создать? a отдельный ветка, чтобы сохранить этот код, сохраняя при этом сохраненную версию моего нового кода, чтобы нарисовать?

Любая помощь очень ценится

ответ

2

Если вы знаете коммита SHA вы хотите, чтобы вернуться:

git reset <SHA> 
git checkout -b <new_branch_name> 
+0

Вы можете добавить '--soft' флаг, чтобы убедиться: – hypeJunction

1

Примечание вниз Ша последней фиксации (скажем e123asd)

Для снятия последнего фиксации с ответвления 1

git reset --hard HEAD^

Переключение в ветви 2

git cherry-pick e123asd

Это приведет к последней фиксации этой новой отрасли.

2

Перед переключением ветвей, если у вас есть ожидающие изменения, зафиксируйте их.

Если вы знаете коммита SHA вы хотите, чтобы вернуться, вы можете создать новую ветку от него и переключиться на него:

git checkout -b <new_branch_name> SHA 
Смежные вопросы