Как мне вернуться к предыдущей фиксации SVN? - PullRequest
11 голосов
/ 01 июля 2010

Предположим, я на 50 версии. Но я хочу вернуться к 45-й ревизии и зафиксировать обратно как стабильную версию.

Как мне сделать это самым простым способом?

  1. Что делать, если я хочу сделать это с одним файлом?
  2. Что если я хочу сделать это со всем хранилищем?

Ответы [ 4 ]

24 голосов
/ 02 июля 2010

Я не уверен, что вы имеете в виду под "коммитом как стабильной версией", но в зависимости от того, что вы пытаетесь выполнить, я рекомендую:

svn update -r45
Это вернет рабочую копию вашей версии 45.

или:

svn merge -c -50, -49, -48, -47, -46
Это обновит (путем обратного слияния) вашу рабочую копию, удалив все изменения между 45 и 50. Теперь, если вы вносите изменения и фиксируете, это будет похоже на то, как вы удалили 46-50 из хранилища и сделалиВерсия HEAD (51?) Будет r45 + ваше изменение.

4 голосов
/ 01 июля 2010

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

0 голосов
/ 13 октября 2015

Вы можете просто обновить версию, используя

svn up -r 45

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

svn merge -r HEAD:45 yourFile
svn ci yourFile -m "Reverting back to rev 45"
0 голосов
/ 01 июля 2010

Я думаю, что один простой способ должен быть таким:

  • оформить редакцию 45 во временный каталог
  • скопируйте один или все файлы в ваш рабочий каталог
  • коммит
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...