2011-12-16 3 views

답변

3

, 상황은 다음입니다 :

  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. 특정 버전 (들) 역 병합. 예

    In the trunk working copy: 
    $ svn merge --reintegrate ^/branches/feature . 
    
+0

그게 내가 필요한거야! 하지만 전 커밋을 되돌릴 수는 없습니다. 여러 개의 커밋에서 하나의 파일 만 있습니다. 또 다른 이유는 거북이 SVN을 사용하여 변경 사항을 취소 할 수없는 이유는 지형지 물의 이름을 변경했기 때문입니다. – dmiandre

+0

@dmiandre, 특정 파일을 역 병합 할 수 있습니다. $ svn merge -c -234 path/to/file – Paker

0

한 분기에서 다른 분기로 병합을 수행하는 경우 첫 분기에서 발생한 차이점 만 병합합니다. 파일을 만진 적이 없다면 파일에 대한 diff가 없으므로이 파일을 다시 만나는 부분은 없습니다. 아니, 아무 것도 되돌릴 필요가 없습니다. revert을 수행하면 클라이언트에서 작업 복사본에서 수행 한 변경 사항을 되돌리고 분기 또는 저장소와는 아무런 관련이 없습니다. 내가 제대로 이해하면

+0

을, 나는 저장소와 함께 작동 및 기능에 일부 파일을 반환합니다 되돌리기 명령의 대응이 필요합니다 : 트렁크에

$ svn merge -c -234 . 
  • 재 통합을 : 개정 전에 - 참고 기능 브랜치를 만드는 순간의 상태로 분기합니다. – dmiandre

  • 관련 문제