2015-09-24 2 views
0

У меня возникла ситуация, когда я случайно нажал неполную фиксацию C1 на удаленную ветку. Теперь я хочу вернуть удаленную ветку, но временно, так что я могу по-прежнему работать над фиксацией C1 локально и внести в нее некоторые изменения.Git revert временно

я сделал,

git revert C1 

Который создал коммит с откатами изменений, и я толкнул его на удаленный филиал в другом совершить C2. Готово.

Но как я могу начать работу над фиксацией C1, которая вернулась? должен ли я проверить, что конкретное совершение C1? Если я это сделаю, git status показывает отдельный заголовок в моем локальном репо.

+1

Почему бы не просто отменить фиксацию на удаленной ветке, закончить свои изменения локально, совершить + нажать все это? После совершения фиксации он не может быть действительно изменен; измененная фиксация на самом деле является перебазой, которая создает новые коммиты с разными хэшами, чем исправления. –

+0

Спасибо, я пошел с ответом @Charles Durham. что очень похоже на ваш подход. – Kevindra

ответ

1

Вы можете создать новую ветку от C1, а затем работать оттуда. Затем, когда вы закончите с добавлениями к C1, слейте его обратно в свою ветку по умолчанию.

git checkout C1 & git checkout -b newC1BranchName

+0

Спасибо, что работает! То, что мне не хватало, было то, что для этого отдельного заголовка не было локальной ветви. но это решает этот вопрос :) – Kevindra

-1

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

$ git reset HEAD^ 
$ git push -f 

Это приведет к удалению этой фиксации (локально и удаленно), сохраняя ваши локальные файлы без изменений.

Однако возврат C2 может быть более безопасным решением, но в данном конкретном случае я считаю, что это просто не нужно.