У меня есть две машины, A и B, которые обе обращаются к внешнему репозиторию hg.
Я провел некоторую разработку для A, не был готов передать внешние наборы изменений, и мне нужно было переключать машины, поэтому я передал наборы изменений в B, используя hg serve
. Изменения продолжались на B, были зафиксированы и затем отправлены во внешнее хранилище.
Затем я вытащил на A и обновил до default / tip. Это оставило локальные наборы изменений, которые ранее были перенесены в B, как ветвь, но из-за того, как я их передал, изменения в локальных наборах изменений уже по умолчанию / tip.
Теперь я продолжал вносить изменения и фиксировать локально на A, но когда я пытаюсь нажать hg, просит меня объединить или выполнить push -f
вместо этого. Я знаю, что push -f
почти никогда не рекомендуется.
Эта ситуация близка к той, где я должен использовать rebase, однако наборы изменений, которые были бы «перебазированы», мне на самом деле не нужны ни локально, ни во внешнем репозитории, поскольку они уже эффективно используются по умолчанию / tip через push to B.
Теперь я знаю, что могу слиться с последним локальным набором изменений и просто отменить изменения, но тогда мне все равно придется совершить слияние, которое возвращает меня на территорию перебазирования.
Это тот случай, когда я мог бы сделать hg push -f
?
Кроме того, зачем при нажатии кнопки A создавать удаленные заголовки, если я обновил значения по умолчанию / tip до того, как продолжил фиксировать наборы изменений?