SVN Как отменить изменения из функциональной ветви - PullRequest
3 голосов
/ 16 декабря 2011

Я создал ветку объектов и зафиксировал там несколько раз. Мне нужно вернуть некоторые файлы, как будто я никогда не трогал их в своей ветке функций. Другими словами, я не хочу возвращать их обратно.

Как я могу это сделать?

Ответы [ 2 ]

3 голосов
/ 18 декабря 2011

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

  1. Вы создали избранную ветку:

    $ svn cp ^/trunk/ ^/branches/feature
    
  2. Вы 'Мы поработали над ^/branches/feature и зафиксировали.

    $ ... work, work, work ...
    $ svn ci
    
  3. Теперь вы хотите отменить некоторые изменения.
    Итак, выполните обратное слияние.
    Сначала проверьтекакие ревизии вы хотите отменить, используя svn log:

    In your featured branch working copy:
    $ svn log -v 
    -----------------------------------
    r234 ...
    Changed paths:
    M /branches/featured/file.c       
    
    Implemented a feature
    -----------------------------------
    
  4. Выполните обратное объединение определенных ревизий.Обратите внимание на - до пересмотра:

    $ svn merge -c -234 .
    
  5. Реинтеграция в ствол:

    In the trunk working copy:
    $ svn merge --reintegrate ^/branches/feature .
    
0 голосов
/ 16 декабря 2011

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

...