git svn을 사용하여 svn 저장소를 체크 아웃했습니다. 이제 지점 중 하나를 체크 아웃하고 추적해야합니다. 가장 좋은 방법은 무엇입니까?
git svn을 사용하여 svn 저장소를 체크 아웃했습니다. 이제 지점 중 하나를 체크 아웃하고 추적해야합니다. 가장 좋은 방법은 무엇입니까?
답변:
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
, 그들의 역사를 선형으로 유지하십시오!
--prefix=svn/
수행 할 때 추가 ) 이렇게하면 로컬 분기에 접미사를 추가 할 필요가 없습니다. git-svn init
git-svn clone
show-ignore
아웃 오류, 시도git svn show-ignore -i trunk