Еще один пользователь git, смущенный Mercurial ветвями здесь. Я сделал что-то, что я не могу понять, как отменить, и в результате я не могу подтолкнуть свои совершенно несвязанные изменения. Любая помощь будет оценена по достоинству.Mercurial: как игнорировать несколько головок ветви при использовании в качестве предка на закрытой ветке.
Вот история, я думаю:
Я начал работать над чем-то по умолчанию . Я понял, что это была ошибка, так как это станет PR, поэтому следующий коммит я сделал на ветке feature1. Затем я отправил PR на битбакет.
Я начал работать над чем-то еще, также прочь по умолчанию, на этот раз я был уверен, использовать филиал feature2, и я нарочно «¯hG до -r ...» с номером ревизии до my feature1 обязуйтесь не включать это изменение.
На данный момент история выглядит примерно так,
-- G (default) - H (feature1)
/
.. D - F (default)
\
-- I - J - K (feature2)
Мой PR не было принято, поэтому я закрыть feature1.
В родительском репозитории существовала разработка по умолчанию, поэтому я
hg pull
. Теперь это выглядит примерно так,-- G (default) - H (feature1) [my repository, closed] / .. D - F (default)--- L (default) [parent repository] \ -- I - J - K (feature2) [my repository]
.. плюс много изменений на другие отрасли, что я ничего не знаю.
Но я доволен feature2 и я хочу сделать PR для него, так что я стараюсь
hg push --new-branch
, но я получаю сообщение,прерывания: нажатие создает новый удаленный головной 7a341084eb8a !
Хорошо, таким образом использовать hg glog
и кажется, что контрольная сумма соответствует родительской работы, т.е. L
в приведенной выше схеме. Mercurial, похоже, жалуется, что у меня есть фиксация на закрытой ветке с веткой default
, которая не была объединена с default
! Но я больше не хочу, чтобы он существовал! Тем не менее, я не хочу снимать его, как тогда это сделало бы чтение старого закрытого PR невозможным.
Если я пытаюсь нажать только свою собственную ветку, hg push --new-branch -b feature2
, то я получаю:
abort: push creates new remote head 062efd5d0886!
то есть, та же проблема, но с другой головой. Кажется, что это соответствует первому плану feature2! То есть, I
в моей диаграмме.
Это не имеет смысла ..a закрыт ветвь останавливает меня от нажатия изменений на совершенно другой ветке. Между тем я не могу понять, о чем говорят несколько головок, когда он нажимает на мою feature2, так как есть действительно только один feature2. Рекомендация заключается в том, чтобы «слиться» перед нажатием, но я не могу даже вычислить здесь , что сливаться. Я не хочу, чтобы объединить мои отвергнут изменения по умолчанию , и когда я hg merge default
на feature2, думая, может быть, мне нужно принять во внимание последние изменения вверх по течению, это сливается G
, с моей закрытой ветви вместо верхняя головка.
Итак, ясно, что я просто не понимаю Меркурийские ветви. В git я просто удалю feature1 ветку, и это было бы так. Как это разрешить?