Подтвердить что ты не робот

Push создает новые удаленные головки! (вы забыли слить? Используйте push -f, чтобы заставить)

Хорошо, у меня было немного google и я не могу найти решение, поскольку я наткнулся на одно и то же сообщение, но различные способы его использования. Я новичок в mecurial и хочу убедиться, что я делаю это правильно.

Итак, я получаю сообщение об ошибке, как указано выше. У меня есть сайт-разработчик и живой сайт, и я пытаюсь подтолкнуть код к базе кода.

Однако вчера я случайно сделал hg add, который добавил все носители, которые я не хотел делать. Я вернулся после удаления всех медиафайлов из базы кода, а затем совершил и нажал изменения. Поэтому сегодня я вносил изменения в файл CSS и несколько шаблонов. Я пошел, чтобы совершать свои изменения и нажимать их, но когда я запускаю hg push, я получаю ошибку выше.

Я запустил hg log и есть только 6 коммитов, так как это чистая/новая ветка/проект. Любая помощь будет высоко оценена, и я приношу свои извинения, если я ничего не объяснил правильно!

4b9b3361

Ответ 1

Это не сообщение об ошибке; это абсолютно нормальная ситуация. Это сообщение говорит: "Эй, другие люди подтолкнули новую работу к этому репозиторию, пока вы делали свою работу, вы, вероятно, должны интегрировать их в себя, чтобы они не могли интегрировать ваши в свои?"

Итак, сначала сделайте a:

hg pull

а затем a:

hg merge

Кстати, revert, если вы действительно использовали команду hg revert, не удаляли эти файлы из истории, поэтому ваша история, вероятно, довольно большая.

Подумайте, прочитав первые несколько глав Mercurial book, он достаточно хорошо описывает эти ситуации.

Ответ 2

Если вы хотите отменить свои конфликтующие изменения

hg outgoing

Вы должны увидеть строки, содержащие ваши измененные или конфликтующие изменения, которые не нажаты. Найдите ревизию изменений. Здесь 64

searching for changes
changeset:   64:1830948c246e

Тогда

hg strip 64

Ответ 3

Это сработало для меня.

hg push -f

Для получения дополнительной команды попробуйте

hg help push

Ответ 4

На TortoiseHg вы можете сделать это:

1 => Зафиксировать файлы

2 => Зайдите в свою новую ветку, где вы хотите нажать код

3 => В этой ветки, запустите Merge with develop

4 => Нажимайте свой код без ошибок!

Ответ 5

Лучший способ работать с mercurial - создать git init в папке. А затем работайте с git локально. Слияние в git и т.д., Что угодно. А потом просто отбросьте, используя меркурий. Это самый простой способ работать с ртутным. В противном случае ртутный просто не работает.

Ответ 6

Если вы используете Workbench для внесения изменений, вы можете сначала попробовать обнаружить исходящие изменения, см. Прикрепленное изображение enter image description here

Это даст вам информацию о том, что вы собираетесь нажать. Моя проблема была, у меня был старый draft ожидающий, чтобы быть выдвинутым. Мне удалось продолжить толчок, когда я сделал strip на старом проекте.