신인이 기존 프로젝트의 svn 저장소를 git으로 마이그레이션하여 사용할 때까지
2108 단어 SubversionGit
환경
이런 환경입니다. 오래된 git이라면 git svn 명령이 없을지도 모릅니다.
작업 내용
svn 저장소를 clone
svn 리포지토리를 검색하여 로컬로 배포합니다.
git svn clone -s --prefix=svn/ file://home/project/repos/myproj
svn 리포지토리는 trunk, tags, branches 디렉토리로 나뉘어 있으므로 -s
옵션을 붙입니다. 이것을 붙이지 않으면, tags나 branches의 디렉토리가 그대로 생겨 버립니다(스|했다).
--prefix
옵션을 지정하면 git 브랜치 이름에 접두사가 붙습니다. 없어도 좋지만, 붙이면 알기 쉬운지도입니다.
태그 마이그레이션
git branch -r
그러면 svn/tags/아래에 이전에 붙인 태그가 나옵니다. 이것들을 git 태그로 만듭니다. 해도 하지 않아도 좋을지도 모릅니다.
git branch -r | grep svn/tags | sed -e 's#svn/tags/##' | xargs -I % git tag % svn/tags/%
중앙 리포지토리 만들기
이 근처는 평소의 방법입니다. 네.
mkdir /home/project/repos/myproj.git
chgrp myteam /home/project/repos/myproj.git
git init --bare --shared=group /home/project/repos/myproj.git
중앙 저장소에 push
이 근처도 평소의 방법입니다.
git remote add origin file:///home/project/repos/myproj.git
git push -u origin --all
git push origin --tags
오시마
준비가 되었으므로, 신인씨에게 git clone 받도록 합시다.
이것으로 끝납니다.
수고하셨습니다.
Reference
이 문제에 관하여(신인이 기존 프로젝트의 svn 저장소를 git으로 마이그레이션하여 사용할 때까지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sengoku/items/db6f9fcc45d503ebaec5
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
git svn clone -s --prefix=svn/ file://home/project/repos/myproj
git branch -r | grep svn/tags | sed -e 's#svn/tags/##' | xargs -I % git tag % svn/tags/%
mkdir /home/project/repos/myproj.git
chgrp myteam /home/project/repos/myproj.git
git init --bare --shared=group /home/project/repos/myproj.git
git remote add origin file:///home/project/repos/myproj.git
git push -u origin --all
git push origin --tags
Reference
이 문제에 관하여(신인이 기존 프로젝트의 svn 저장소를 git으로 마이그레이션하여 사용할 때까지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sengoku/items/db6f9fcc45d503ebaec5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)