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

Вернитесь к старой редакции на базаре

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

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

Каковы две команды для этого (возврат к более ранней фиксации и последующая проверка последней версии)?

Спасибо заранее.

4b9b3361

Ответ 1

Чтобы вернуть рабочее дерево к определенной ревизии N:

bzr revert -rN

Чтобы вернуть рабочее дерево к последней версии в ветке:

bzr revert

Ответ 2

Есть два способа вернуть ваше рабочее дерево вовремя в ревизию N. Первое упоминалось здесь другими ответами:

bzr revert -rN

Это изменит все файлы, необходимые для того, чтобы ваше рабочее дерево соответствовало содержимому версии N. Если вы запустите bzr status, он отобразит все эти файлы как измененные. Если вы запустите bzr commit, тогда все эти обратные изменения будут зафиксированы, и ваша версия HEAD теперь будет выглядеть как ревизия N.

Чтобы вернуться к последней версии в вашем филиале:

bzr revert

Вы также можете запустить bzr update, но это может привести к некоторым новым версиям, если ваша ветка - это проверка.

Другим вариантом для возврата во времени является следующее:

bzr update -rN

Разница между двумя заключается в том, что bzr update делает вид, что никаких изменений не было сделано. Это просто, что ваше рабочее дерево устарело.

Чтобы вернуться к последней версии в вашем филиале:

bzr update

Ответ 3

Чтобы изменить рабочее дерево на состояние, которое оно имело в предыдущей версии N

bzr revert -r N

Чтобы обновить рабочую копию до состояния, которое оно имеет в последней редакции:

bzr up

Краткая справочная карта Bazaar

Ответ 4

Другие комментаторы, которые отвечали с помощью bzr revert -rN, безусловно, правильны в том смысле, что это прямой ответ на вопрос, поскольку он был задан, однако, если у вас есть большое количество транзакций для проверки, чтобы проверить наличие ошибки, гораздо эффективнее использовать деление пополам. Однажды мне представилась ошибка, в которой последнее известное-хорошее совершение было 300 коммитов назад, а делая пополам обнаружила виновное совершение всего за 8 проходов (я имею в виду, что мне нужно было проверить только 8 коммитов из 300, чтобы найти один который ввел ошибку).

http://doc.bazaar.canonical.com/plugins/en/bisect-plugin.html

Если вы чувствуете себя ошеломленным количеством возможных коммитов, которые вам нужно проверить, это должно значительно уменьшить объем усилий!

Ответ 5

вы можете использовать bzr log -forward, чтобы просмотреть предыдущие версии с сортировкой DESC

и вы можете использовать bzr revert -r для изменения своей версии на

если вы хотите вернуться к последней версии, просто выполните bzr revert