Mercurial: как вернуться к предыдущей версии после выполнения push - PullRequest
0 голосов
/ 26 апреля 2018

У меня есть две ветви, скажем, A и B. Я сделал несколько изменений в A и зафиксировал свой код в A, затем я слил A в B и сделал push.

Теперь проблема в том, что я добавил несколько ненужных файлов в B.

Я хочу вернуться к предыдущей версии B. Я вижу несколько решений, чтобы выполнить hg update -r и затем принудительно перенести его в репозиторий, что может привести к новым головам, что я не хочу делать.

Обнажи меня за объяснение, делаю это впервые. Спасибо.

Я хочу вернуться к 3313 ревизии

Ответы [ 2 ]

0 голосов
/ 01 мая 2018

Если вы хотите удалить или изменить отправленную ревизию, то, боюсь, Mercurial (по замыслу) не поддерживает это. (Вы можете изменить фазу ревизии на «черновик» и удалить или изменить ее, но при повторном извлечении старая ревизия снова появится.)

Если вам действительно нужно удалить ревизию (например, она содержит несколько огромных файлов), то вы ничего не можете с этим поделать в своем локальном репозитории; единственный способ сделать это - в удаленном репозитории (например, если администратор запускает hg strip непосредственно в удаленном репозитории или что-то подобное; интерфейс BitBucket поддерживает удаление ревизии).

У нас была похожая проблема на работе, когда какой-то пользователь помещал в хранилище очень большие файлы, а затем много работы было выполнено в хранилище. Единственный способ решить эту проблему - использовать расширение «convert» для удаления файлов, а затем вставить его в совершенно новый репозиторий. (Если бы мы только что перенесли преобразованный репозиторий в существующий, это просто создало бы дублирующиеся ревизии, начиная с того места, где были зафиксированы плохие файлы.)

0 голосов
/ 26 апреля 2018

Вы можете пойти на свою голову, удалить ненужные файлы, зафиксировать и нажать.

Иди в свою ветку B

hg update -r 3316

Удалить файлы, зафиксировать и нажать

hg forget yourfilethere

hg commit -m "Remove unecessary files"

hg push

Дайте мне знать, если это поможет!

...