2013-12-20 3 views
0

Таким образом, кто-то удалил удаленную ветку, но был удален набор изменений, когда он удалил ветку.Как перенести набор изменений из удаленной ветки в другую ветвь?

У меня есть набор изменений в моем локальном репозитории и попытался объединить набор изменений с моей веткой по умолчанию, а затем я нажал, но у меня получилась ошибка «abort: push создает новую удаленную головку 650367cd0ff4 на ветке« rc »!»

+1

Что вы имеете в виду ветвь удаления? Все коммиты этой ветки были разделены или ветвь закрыта с помощью '--close-branch' или что-то еще? – HankMoody

+0

Я не знаю, что он сделал, но у меня нет доступа к нему, и удаление было намеренным. Является ли метод изменением разрешения на мою проблему вишни, собирающей набор изменений из локальной ветви, которая больше не существует на удаленном компьютере, в новую ветвь, существующую на обоих? –

+0

Удаленная ветвь называется «rc»? – HankMoody

ответ

1

Есть несколько вариантов, в зависимости от ситуации, у вас есть:

  1. Если вся отрасль была лишена и у вас есть эта ветвь локально, то вы можете нажать ее еще раз:

    hg push --new-branch 
    

    Этих рекомендуется, так как Mercurial в любом случае отправит ваши локальные коммиты на удаленное репо каждый раз, когда вы будете делать push (пока вы не разделите эти коммиты локально). Вы можете затем закрыть нежелательную ветку с --close-branch (это оставит все фиксации в репо, но просто отметьте ветку как закрытую/неиспользованную).

    hg ci --close-branch 
    
  2. привоя хотел совершить локально какой-либо ветви к другой:

    hg graft -r 123 
    hg push 
    
  3. Создать новую удаленную голову («прервать: нажатие создает новый удаленный голову 650367cd0ff4 на ветке„гс“»). Это ничего плохого, это просто означает, что у одной из ваших ветвей будет две отдельные верхние фиксации. Эти коммиты могут быть объединены позже.

    hg push -f 
    
+0

Ха-ха, я полагаю, я мог бы просто hg push -f Спасибо за вашу помощь! –

Смежные вопросы