Возврат к предыдущей ревизии с использованием TortoiseSVN - PullRequest
56 голосов
/ 31 марта 2011

Какой самый простой способ вернуть мою рабочую копию в предыдущую ревизию с использованием Windows TortoiseSVN ?

Я не нашел ни одной "доступной" команды для быстрого выполнения этой операции.

Ответы [ 6 ]

105 голосов
/ 01 апреля 2011

Есть несколько способов сделать это. Но не просто обновите предыдущую ревизию, как предлагается здесь .

Самый простой способ отменить изменения из одной ревизии или из диапазона ревизий - это использовать журнал ревизийдиалог.Этот метод также используется, если вы хотите отменить последние изменения и сделать более раннюю ревизию новой HEAD.

  1. Выберите файл или папку, в которой необходимо отменить изменения.Если вы хотите отменить все изменения, это должна быть папка верхнего уровня.
  2. Выберите TortoiseSVN → Показать журнал, чтобы отобразить список ревизий.Возможно, вам придется использовать Show All или Next 100, чтобы показать интересующую вас ревизию (версии).
  3. Выберите ревизию, которую вы хотите отменить.Если вы хотите отменить диапазон ревизий, выберите первую и удерживайте Shift при выборе последней.Обратите внимание, что для нескольких ревизий диапазон должен быть непрерывным без пробелов.Щелкните правой кнопкой мыши на выбранной ревизии, затем выберите Context MenuRevert изменения этой ревизии.
  4. Или, если вы хотите сделать более раннюю ревизию новой редакции HEAD, щелкните правой кнопкой мыши на выбранной ревизии, затем выберите Context MenuRevert to this revision.Это отменит все изменения после выбранной ревизии.

Вы отменили изменения в своей рабочей копии.Проверьте результаты, затем передайте изменения.

Все решения объяснены в " Как мне .. ."часть документов TortoiseSVN.

7 голосов
/ 09 июня 2014

Я использовал те же инструкции, что и Stefan, взято с Черепаховый сайт .

Но важно нажать COMMIT сразу после .Я сходил с ума, пока не понял, что.

Если вам нужно сделать более старую ревизию, ваша ревизия головы делает следующее:

  1. Выберите файл или папку, в которойнужно отменить изменения.Если вы хотите отменить все изменения, это должна быть папка верхнего уровня.

  2. Выберите TortoiseSVN → Показать журнал, чтобы отобразить список ревизий.Возможно, вам придется использовать Показать все или Следующие 100, чтобы показать интересующую вас ревизию.

  3. Щелкните правой кнопкой мыши на выбранной ревизии, затем выберите Контекстное меню → Вернуться к этой ревизии.,При этом будут отменены все изменения после выбранной ревизии.

  4. Сделать коммит.

2 голосов
/ 31 марта 2011

Щелкните правой кнопкой мыши папку, находящуюся под управлением SVN, перейдите на TortoiseSVN Показать журнал . Запишите ревизию, к которой вы хотите вернуться, и перейдите к TortoiseSVN Обновление к ревизии ... .

Enter image description here

1 голос
/ 19 марта 2018

Вот еще один метод, который неортодоксален, но работает *.

Недавно я оказался в ситуации, когда я проверил взлом кода, зная, что не могу обновить наш производственный код до тех пор, пока не будет выполнена вся работа по интеграции (в ретроспективе это было плохое решение, но мы не ожидали, что остановимся, но другие проекты имели приоритет).Это было несколько месяцев назад, и интеграция все это время застопорилась.Вместе с тем возникает требование изменить базовый код и запустить его в производство на прошлой неделе без серьезных изменений.

Вот что мы сделали:

После проверки того, что новое требование ничего не нарушает, когдаиспользуя ревизию перед моей регистрацией, я сделал копию рабочего каталога, содержащего новый код.Затем я удалил все в рабочем каталоге и проверил нужную мне ревизию.Затем я удалил все файлы, которые я только что извлек, и скопировал файлы из рабочей копии.Затем я зафиксировал это изменение, фактически уничтожив критические изменения из репозитория и получив рабочий код на месте в качестве основной версии.У нас все еще есть последние изменения, но они больше не находятся в основной редакции, поэтому мы можем перейти к производству.

* Я не рекомендую этот метод, но если вы окажетесь в аналогичной ситуации, этовыход не слишком болезненный.

1 голос
/ 31 марта 2011

Команда Revert в контекстном меню игнорирует ваши изменения и возвращает рабочую копию в предыдущее состояние. Вы также можете выбрать нужную ревизию, отличную от «Head», когда вы «CheckOut» из хранилища.

0 голосов
/ 31 марта 2011

В контекстном меню TortoiseSVN выберите «Обновить до ревизии», введите желаемый номер ревизии и вуаля:)

...