2009-09-22 3 views

답변

179

작업 디렉토리가 트렁크에서 작동하고 가정 :

는 "루트 작업 폴더"(이 용어는 항상 Windows 탐색기를 의미)을 마우스 오른쪽 버튼으로 클릭하고 최신 트렁크에 작업 폴더를 업데이트 svn update을한다.

안정적인 제품인지 확인하십시오.

루트 작업 폴더를 마우스 오른쪽 단추로 클릭하고 svn commit을 실행하여 로컬 변경 사항이 트렁크에 적용되었는지 확인하십시오.

루트 작업 폴더를 마우스 오른쪽 버튼으로 클릭하고 svn repo-browser을 실행하십시오.

이미 가지 저장소에 폴더 A가없는 경우 : 그냥 트렁크 폴더 위의 폴더를 마우스 오른쪽 버튼으로 클릭하고 할 "폴더를 만들고"과 트렁크가 http://myserver/svn/MyRepository/MyProj/Trunk 경우 (예를 들어 지점 폴더를 생성, http://myserver/svn/MyRepository/MyProj/Branches 만들기).

트렁크 폴더를 마우스 오른쪽 버튼으로 클릭하고 Copy To:을 입력하고 분기의 새 폴더 이름을 입력하십시오. 예 : http://myserver/svn/MyRepository/MyProj/Branches/MyNewBranch. (이것은 많은 공간을 낭비하지 않을 것이라는 점을 염려하지 않아야합니다 ... "싼 사본"이라고합니다 ... 파일이 변경되지 않는 한 실제로 파일의 내용을 복사하지는 않습니다).

리포 브라우저를 닫습니다.

작업 폴더 루트를 마우스 오른쪽 단추로 클릭하고 다음을 수행하십시오. svn switch 그리고 새 분기의 폴더 이름을 선택하십시오 (예 : http://myserver/svn/MyRepository/MyProj/Branches/MyNewBranch). 다른 모든 것은 기본값으로 둡니다.

이제 지사에서 작업하십시오. 마일스톤에 도달하면 루트 작업 폴더를 마우스 오른쪽 단추로 클릭하고 svn commit을 수행하여 지점에 커밋하십시오. (이것은 트렁크에는 보이지 않습니다).

다른 사용자가 같은 분기에서 작업하는 경우 루트 작업 폴더에서 주기적으로 svn update을 수행하십시오. 이것은 지점에서 업데이트됩니다. (트렁크에서 업데이트되지 않습니다.)

다른 분기가 같은 분기에서 작동하는지 여부에 상관없이 주기적으로 트렁크의 변경 사항을 병합하여 분기를 나중에 통합하기가 어렵지 않게해야합니다. 주기적으로 병합하려면 : 작업 폴더 루트를 마우스 오른쪽 단추로 클릭하고 svn merge을 수행하십시오. "Merge a a Revision"을 선택하십시오. '에서 병합 할 URL'에서 트렁크를 선택하십시오 (예 : http://myserver/svn/MyRepository/MyProj/Trunk). 수정 범위을 비워두고 나머지는 모두 그대로 두십시오. 다음을 클릭하십시오. 모든 것을 그대로두고 병합을 클릭하십시오. 모든 것이 여전히 작동하는지 확인하십시오. 그렇지 않은 경우 문제를 해결하십시오. 만족 한 후에는 작업 루트 폴더에서 svn update을 정기적으로 수행하여 분기에서 업데이트하십시오 (SVN을 만족시키기 위해 분기에서 유일하게 작업하는 경우에도 필요합니다). 그런 다음 svn commit을 수행하여 분기에 병합 된 트렁크 변경 내용을 커밋합니다. 원하는만큼이 단계를 주기적으로 반복 할 수 있습니다.

분기를 통합 할 준비가되면 마지막 단계에서 위의 단계를 수행하고 최종 테스트를 수행하십시오. 지점에 최종 커밋을하십시오.

루트 작업 폴더를 마우스 오른쪽 단추로 클릭하고 다른 svn switch을 수행하십시오. 이번에는 트렁크로 전환하십시오 (예 :).이렇게하면 지사에서 수행 한 모든 작업을 근본적으로 "실행 취소"하는 효과가 있지만 걱정하지 않아도됩니다. 작업을 다시 할 수 있습니다. (또한 브랜치에서 변경하지 않은 파일에 대한 많은 업데이트를보고 할 것입니다. 그러나 이것들은 "SVN 속성"변경 사항 일뿐입니다 ... 걱정하지 마십시오.)

작업 폴더를 마우스 오른쪽 버튼으로 클릭하십시오. svn merge을 수행하십시오. 이번에는 "지점 재 통합"을 선택하십시오. URL의 경우 지사를 입력하십시오 (예 : http://myserver/svn/MyRepository/MyProj/Branches/MyNewBranch). 나머지는 그대로두고 다음을 클릭하십시오. 모든 것을 그대로두고 병합을 클릭하십시오. 트렁크의 최신 작업은 물론 지사에서 수행 한 모든 작업을 완료했습니다.

최종 테스트를 수행하십시오. 이 파일은 분기에서 마지막으로 테스트 한 파일 세트와 동일해야하기 때문에 모든 것이 작동해야합니다. 루트 작업 폴더를 마우스 오른쪽 버튼으로 클릭하고 svn commit을하십시오. 지사에서 작업하지 않은 파일도 커밋합니다 ("SVN 속성"변경 만 있지만 커밋하면 SVN이 모든 수정 내용을 추적하는 데 도움이됩니다).

트렁크는 현재 모든 지점 업무뿐만 아니라 지점에서 작업하는 동안 트렁크에서 수행 된 모든 작업을 수행하며 모두 작동합니다. 또한 SVN은 모든 파일의 완전한 기록을 보유하고 있으며 심지어 지사에서 작업하는 동안 체크인 한 개정판도 포함합니다.

선택 사항 : Repo-browser로 이동하여 분기 폴더 (예 : http://myserver/svn/MyRepository/MyProj/Branches/MyNewBranch)를 마우스 오른쪽 버튼으로 클릭하고 "삭제"하십시오. 이것은 트렁크에 아무런 영향을 미치지 않으며 더 이상 지점을 필요로하지 않습니다. (실제로 편집증이라도 언제든지 Repo 브라우저에서 삭제 된 브랜치를 다시 가져올 수 있기 때문에 걱정하지 마십시오.)

언제든지 의견을 말하십시오!

+7

725 단어가 간단합니까? – RedFilter

+32

나는 "단순하지 않다"고 말했다. – JoelFan

+12

이것은 매우 도움이되었다. 고맙다! – Funka

관련 문제