Ответ 1
Чтобы вернуть рабочее дерево к определенной ревизии N:
bzr revert -rN
Чтобы вернуть рабочее дерево к последней версии в ветке:
bzr revert
Я хочу вернуться в историю своего базара (сменить рабочее дерево), чтобы найти коммит, который ввел определенную ошибку.
Я не хочу удалять какие-либо коммиты, просто измените мое рабочее дерево, пока не найду ошибку, а затем я хочу вернуться к последней версии, над которой нужно работать.
Каковы две команды для этого (возврат к более ранней фиксации и последующая проверка последней версии)?
Спасибо заранее.
Чтобы вернуть рабочее дерево к определенной ревизии N:
bzr revert -rN
Чтобы вернуть рабочее дерево к последней версии в ветке:
bzr revert
Есть два способа вернуть ваше рабочее дерево вовремя в ревизию N. Первое упоминалось здесь другими ответами:
bzr revert -rN
Это изменит все файлы, необходимые для того, чтобы ваше рабочее дерево соответствовало содержимому версии N. Если вы запустите bzr status
, он отобразит все эти файлы как измененные. Если вы запустите bzr commit
, тогда все эти обратные изменения будут зафиксированы, и ваша версия HEAD теперь будет выглядеть как ревизия N.
Чтобы вернуться к последней версии в вашем филиале:
bzr revert
Вы также можете запустить bzr update
, но это может привести к некоторым новым версиям, если ваша ветка - это проверка.
Другим вариантом для возврата во времени является следующее:
bzr update -rN
Разница между двумя заключается в том, что bzr update
делает вид, что никаких изменений не было сделано. Это просто, что ваше рабочее дерево устарело.
Чтобы вернуться к последней версии в вашем филиале:
bzr update
Чтобы изменить рабочее дерево на состояние, которое оно имело в предыдущей версии N
bzr revert -r N
Чтобы обновить рабочую копию до состояния, которое оно имеет в последней редакции:
bzr up
Другие комментаторы, которые отвечали с помощью bzr revert -rN
, безусловно, правильны в том смысле, что это прямой ответ на вопрос, поскольку он был задан, однако, если у вас есть большое количество транзакций для проверки, чтобы проверить наличие ошибки, гораздо эффективнее использовать деление пополам. Однажды мне представилась ошибка, в которой последнее известное-хорошее совершение было 300 коммитов назад, а делая пополам обнаружила виновное совершение всего за 8 проходов (я имею в виду, что мне нужно было проверить только 8 коммитов из 300, чтобы найти один который ввел ошибку).
http://doc.bazaar.canonical.com/plugins/en/bisect-plugin.html
Если вы чувствуете себя ошеломленным количеством возможных коммитов, которые вам нужно проверить, это должно значительно уменьшить объем усилий!
вы можете использовать bzr log -forward, чтобы просмотреть предыдущие версии с сортировкой DESC
и вы можете использовать bzr revert -r для изменения своей версии на
если вы хотите вернуться к последней версии, просто выполните bzr revert