исправить допущенную ошибку в подрывной деятельности - PullRequest
4 голосов
/ 05 января 2011

Это похоже на одну из самых основных вещей, которую можно было бы сделать с Subversion, но я не использую системы контроля версий очень долго, и почему-то я не могу понять это, и я понятия не имею,где в документации svn посмотреть.По сути, ревизия 167 работала отлично, но я допустил ошибку и зафиксировал ее как ревизию 168 (и я не уверен точно, где ошибка).Я запустил svn update -r 167, а затем svn revert, чтобы вернуть мою рабочую копию в редакцию 167, и все снова работает.Теперь я хочу просто начать отсюда - т.е. внести небольшое изменение в эту рабочую копию и зафиксировать ее как ревизию 169, полностью игнорируя все, что я делал в ревизии 168.

Как мне это сделать?Когда я пытаюсь просто зафиксировать, tortoise svn выдает мне сообщение о том, что мне нужно обновить рабочую копию, прежде чем я смогу зафиксировать, и, очевидно, это не то, что я хочу, так как это вернет меня к ревизии 168.

Спасибо за помощь!

Ответы [ 4 ]

10 голосов
/ 05 января 2011
svn merge -r 168:167
svn ci -m "removing changes from r168"

http://svnbook.red -bean.com / ru / 1.5 / svn.branchmerge.basicmerging.html # svn.branchmerge.basicmerging.undo - здесь вы можете прочитать подробнее об этой технике.

как Дэвид Родригес - dribeas упомянул, что вы должны начать с ревизии HEAD.Так что выполняйте svn up перед советами, которые я посоветовал.

4 голосов
/ 05 января 2011

В Subversion вы не можете удалить то, что уже зафиксировали.Мой совет: обновите свою рабочую копию до последней версии, а затем откройте диалоговое окно «Показать журнал SVN».Оказавшись в нем, нажмите на ошибочную редакцию и выберите контекстное меню «Вернуть изменения из этой редакции».Несмотря на название, это не операция revert (в Subversion возврат означает удаление незафиксированных локальных изменений ).TortoiseSVN отменит изменения в вашей локальной копии с помощью операции обратного слияния.Проверьте, все ли в порядке, а затем совершите коммит.

1 голос
/ 05 января 2011

Пожалуйста, прочтите раздел документации TortoiseSVN под названием Откатить (отменить) ревизии в хранилище . Вы также можете получить доступ к этой документации с помощью пункта «Справка» в контекстном меню TortoiseSVN.

1 голос
/ 05 января 2011

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

...