2015-07-30 4 views
1

Я случайно совершил несколько двоичных файлов, которые не имеют места в репозитории. Обычно я просто использовал бы hg rollback, но поскольку я очень быстрый программист, я также подтолкнул их к серверу, прежде чем осознать, что я сделал. Есть ли способ полностью удалить эту последнюю фиксацию из истории и удалить ее с дерева сервера?Удалить набор изменений с сервера

Я не против удаления этих файлов и совершения другой фиксации, но я не хочу сейчас перетаскивать эти файлы (т.е. я не хочу, чтобы они были в истории, когда я делаю свежие clone).

ответ

2

Вам необходимо войти в систему и использовать hg strip, чтобы удалить оскорбительные изменения. Это невозможно сделать удаленно через hg push, потому что нажатие - это операция только для добавления. Если кто-то еще вытащил эти изменения, они должны будут выполнить ту же команду полосы. Вы также должны убедиться, что набор изменений не отображается в вашем собственном репозитории.

Для использования команды strip вам также необходимо включить strip extension на сервере.

Если вы на Bitbucket, страница настроек репозитория имеет параметр «strip changesets», который делает то же самое.

Как только changeset evolution полностью стабилизируется, этот процесс станет значительно проще, но только если сервер не публикуется.

+0

Я использую битбакет! Большое спасибо. Я понятия не имел, что 'strip' может выполняться на стороне сервера. –

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