Как мне откатить весь коммит или его часть в svn?
-
03-07-2019 - |
Вопрос
Как мне отменить весь коммит SVN или его часть, используя TortoiseSVN?
Решение
Во-первых, вам нужно определить, скорее всего, вы хотите вернуть "все изменения" ревизии или только одного файла.TortoiseSVN использует только подход "1 или все";это означает, что вы можете вернуть весь набор для регистрации или отдельные файлы:не частичные проверки.
Полный набор изменений
Итак, если вы возвращаете назад определенную ревизию (и вы хотите, чтобы были изменены все файлы в этом наборе изменений), вам нужно щелкнуть правой кнопкой мыши -> TortoiseSVN -> Показать журнал.Найдите ревизию / набор изменений, до которых вы хотите выполнить откат, щелкните правой кнопкой мыши на этой ревизии "Вернуться к этой ревизии".
Есть еще один вариант, который может вас заинтересовать, а именно "Отменить изменения из этой версии", который выполнит слияние различий между этой версией и вашей текущей версией и объединит только различия.Временами я нахожу это более привлекательным;таким образом, я могу сохранить все изменения между наборами изменений.
Один файл
Другой вариант - вернуть один файл обратно.Вы бы снова щелкнули правой кнопкой мыши -> TortoiseSVN -> Показать журнал;но на этот раз вы можете выбрать один файл.
TortoiseSVN не позволяет вам выбирать несколько файлов в наборе изменений для возврата обратно.Это либо все, либо только 1.
Проверки набора изменений
Для всех остальных пользователей убедитесь, что "проверки" касаются только файлов, связанных с этим изменением.В наши дни это должно стать обычной практикой;но я все еще нахожу, что разработчики "расстреливают" проверки в конце дня, объединяя все изменения за день в одну проверку.
Я смотрю на этих разработчиков, прищурившись.-_^
Другие советы
Если вы хотите отменить ранее сделанную фиксацию (ревизию):
С проводником:
<Ол>Если вы хотите отменить внесенные локально изменения (без изменений)
С помощью проводника: щелкните правой кнопкой мыши файл (ы), выберите TortoiseSVN-> gt; Revert.
В дополнение к тому, что сказал Бартек, вы можете получить конкретную ревизию в локальной рабочей копии и отправить ее обратно в заголовок.
Обратите внимание, что вы можете только "вернуть" в том смысле, что вы регистрируете новую ревизию, которая больше не содержит изменений, которые вы хотели отменить. Это описано в других ответах.
Вы можете не фактически отменить регистрацию (как в " этого никогда не происходило), старое состояние все еще будет в истории хранилища.
На самом деле удаление / удаление материала - это давний запрос функции:
http://subversion.tigris.org/issues/show_bug.cgi ? ID = 516 р>