Отмена фиксации в TortoiseSVN


99

Я случайно зафиксировал кучу файлов (десятки файлов в разных папках). Каков самый простой, самый чистый (и самый безопасный!) Способ «отменить» эту фиксацию без удаления файлов из моего рабочего каталога?

Ответы:


151

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


8
Это то, что я ожидал, но в последнем выпуске черепахи не было никаких знаков
Энтони Мэйн

39
Не забудьте потом сделать коммит, потому что он просто сливается локально.
pihentagy

5
Обязательно обновите свою рабочую копию перед этим, иначе ничего не произойдет.
Флориан Брукер

1
Документы по этой процедуре: tortoisesvn.net/docs/release/TortoiseSVN_en/…
Коста

TortoiseSVN> Показать журнал> <выберите свою старую ревизию>> Вернуться к этой версии tortoisesvn.net/docs/nightly/TortoiseSVN_en/…
Satyendra

15

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

svn merge -r1123:1122 <url of your working copy>

Ничего не меняется, когда я делаю это так: svn merge -r 1880: 1879 server / myproject / branch / problem42. Я пробовал использовать как с таким пробелом «-r 1880: 1879», так и без такого пробела «-r1880: 1879». Если после этого я запустил "svn st", то ничего не изменилось.
neoneye

2

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

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


4
Разве это не говорит вам о том, что ваша ревизия устарела и требует обновления перед фиксацией? Я думаю, вам нужно объединить предыдущую ревизию, а не просто обновить старую.
Mnebuerquo

Также эта стратегия предполагает, что плохая фиксация - предыдущая. Вы можете отменить некоторые изменения, которые произошли некоторое время назад, не отменяя их всех.
jpaugh
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.