자식 svn을 사용하여 체크 아웃 원격 지점 체크 아웃했습니다. 이제 지점

git svn을 사용하여 svn 저장소를 체크 아웃했습니다. 이제 지점 중 하나를 체크 아웃하고 추적해야합니다. 가장 좋은 방법은 무엇입니까?



답변

표준 Subversion 레이아웃

Subversion 트렁크, 태그 및 분기를 포함하는 git 복제본을 만듭니다.

자식 svn 클론 http://svn.example.com/project -T 트렁크 -b 가지 -t 태그

--stdlayout서브 버전 저장소가 전형적인 구조를 사용하는 경우 옵션은 좋은 지름길입니다 :

자식 svn 클론 http://svn.example.com/project --stdlayout

자식 저장소가 Subversion 저장소가하는 모든 것을 무시하게하십시오.

git svn show-ignore >> .git / info / exclude

이제 자식 쪽에서 모든 Subversion 분기를 볼 수 있습니다.

자식 분기 -r

Subversion의 지점 이름이 waldo 입니다. 자식 쪽에서는

git checkout -b waldo-svn 리모컨 / waldo

-svn 접미사는 형식의 경고를 피하는 것입니다

경고 : refname 'waldo'가 모호합니다.

자식 분기를 업데이트하려면 waldo-svn 다음을 실행하십시오.

git checkout waldo-svn
자식 svn rebase

트렁크 전용 체크 아웃에서 시작

트렁크 전용 클론에 Subversion 브랜치를 추가하려면 .git/config포함 할 git 저장소를 수정하십시오.

[svn- 원격 "svn-mybranch"]
        url = http://svn.example.com/project/branches/mybranch
        가져 오기 = : refs / remotes / mybranch

달리는 습관을 길러야합니다

자식 svn fetch --fetch-all

git svn별도의 리모콘이라고 생각하는 모든 것을 업데이트합니다 . 이 시점에서 위와 같이 분기를 작성하고 추적 할 수 있습니다. 예를 들어 mybranch에 해당하는 자식 분기를 만들려면 다음을 실행하십시오.

자식 체크 아웃 -b mybranch-svn remotes / mybranch

당신이하려는 지점에 대해 git svn dcommit, 그들의 역사를 선형으로 유지하십시오!


추가 정보

관련 질문에 대한 답변을 읽는 데 관심이있을 수도 있습니다 .