Subversion을 사용하여 현재 체크 아웃 된 분기와 다른 분기에 변경 사항을 커밋합니다.


115

저는 개발 라인에서 체크 아웃 한 코드를 작업 해 왔으며 변경 사항이 변경 사항을 깨고 메인 개발 트리에 커밋하기 전에 실험적인 브랜치로 옮겨야한다는 것을 발견했습니다. 그러나 나는 실험적인 브랜치를 체크 아웃하지 않았으며 이미 변경된 사항을 잃고 싶지 않습니다.

작업 폴더의 변경 사항을 원래 체크 아웃 된 것과 다른 분기로 커밋하는 방법이 있습니까?

답변:


129

먼저 알려진 sourceURL(질문에서 언급 한 '개발 라인'이 될 것입니다) 에서 분기를 만들어야합니다 .

svn copy sourceURL branchURL

그런 다음 해당 분기로 전환하십시오.

svn switch branchURL

그리고 변경 사항을 커밋하십시오.

svn commit

55

TortoiseSVN에서 다음과 같이 할 수 있습니다.

  • 분기하려는 변경 사항이있는 디렉토리를 마우스 오른쪽 버튼으로 클릭합니다. 저장소의 루트가 아니어야하며 그런 방식으로 복제하는 것이 더 적어야합니다.
  • 선택 TortoiseSVN을 "> - ... 지점 / 태그 ;"
  • URL로 설정 : "svn : // host / repository / FooBar / branches / FooBarBranchName";
  • [*] Working copy가 선택되어 있는지 확인하십시오 . 이렇게하면 변경 사항이 커밋됩니다.
  • 로그 메시지 : "파리 실험 :)";
  • 선택 사항 : [*] 작업 복사본을 새 분기 / 태그로 전환을 선택 합니다. 새 브랜치에서 계속 작업 할 계획 인 경우 유용합니다. 나중에 전환 할 수도 있습니다.
  • 확인 버튼 을 찾으 십시오 . 힌트 : 중앙 창 아래쪽에 있습니다.

즐겨!


"저장소의 루트가 아니어야하고 그런 식으로 복제하는 것이 적어야한다"는 의미는 무엇입니까?
thekozak

브랜치에서 수정할 수없는 관련없는 하위 폴더가 모두 포함 된 루트 폴더를 선택하지 않는 것이 좋습니다. 나중에 (작은) 브랜치를 트렁크에 다시 병합하는 것이 더 쉬울 것입니다.
J 명태

제 경우에는 소프트웨어가 수퍼 폴더에도 의존하기 때문에 해당 폴더 만 커밋하면 문제가 발생했습니다. 나는 그것이 가장 자주 발생한다고 생각합니다. 나는 대부분의 사용 사례에서 전체를 커밋하는 것이 더 낫다고 생각하므로 내가 말하는 루트에서 커밋하는 것이 좋습니다.
ikku100

@ ikku100 해당 수퍼 폴더에 변경 사항이 없으면 어떻게 중요합니까?
simpleuser apr

나중에 사람들이 변경 사항을 커밋 할 수 있기 때문일 수 있지만 수퍼 폴더의 올바른 개정판을 확인한 다음 하위 폴더의 분기를 확인할 수 있습니다. 그것은 단지 superdir에서 커밋하는 것보다 더 많은 일이라고 생각합니다.
ikku100

8

작업 디렉토리에서 직접 새 분기를 만들고 작업 디렉토리를 해당 분기로 전환 할 수 있습니다.

명령은 다음 svn copy과 같습니다.svn switch

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.