2016-12-15 2 views
0
  • У меня есть удаленный мастер ветвления, из которого я получил новую проблему с филиалом №4, чтобы что-то сработать.
  • Я сделал некоторые изменения, я их совершил, и я толкнул их, но работа еще не завершена.
  • Затем я выяснил более важную проблему, поэтому я получил новую проблему с веткой №7. Я сделал ошибку: вместо того, чтобы сначала проверить хозяина, я вывел номер 7 из проблемы №4 вместо мастера.
  • Я сделал некоторые другие модификации, я их совершил, и я толкнул их
  • Тогда, прежде чем слияние с мастером, я понял ошибку: проблема-7 содержит коммиты в вопросе №4.

Как исправить эту ошибку?Git: разрешить неверный ответвление филиала

Текущая ситуация по происхождению:

мастер -> проблемный # 4 (Commit A) -> проблемный # 7 (Commit B)

Так проблемный # 4 имеет совершающие, и проблемный # 7 имеет Commit а и В.

Правильное положение для восстановления по происхождению:

мастера -> проблемный # 4 (совершить)

мастер -> проблемный # 7 (Commit B)

Так проблемный # 4 имеет совершающие, и проблемный # 7 имеет Commit B.

Спасибо

ответ

2
git rebase --onto master 'issue-#4' 'issue-#7' 

будет производить issue-#7 быть производным от мастера. Затем вы можете принудительно нажать issue-#7, а также объединить его для овладения без коммитов от issue-#4. Имейте в виду, что это изменит опубликованную историю, поэтому, если кто-то проверил issue-#7 и основал какую-то ветку на нем, ему придется вручную выполнить подобную перестановку, чем вы, но, я думаю, в вашей ситуации это неважно.

0

В филиале issue-#4

git reset --hard HEAD~1 

Он удаляет последней фиксации (Commit A) для филиала №4. Он должен исправить ошибку.

+0

Как это могло бы помочь, кроме как потерять фиксацию 'issue-# 4'. 'issue- # 7' является неправильным, и даже там ваша команда вообще не поможет разрешить ситуацию. ;-) – Vampire

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