JHH9232 Blog

SVN 의 내용을 깃으로 연동하는 방법


|

방법

깃과 svn을 연동하는 명령어 설치

apt-get install git-svn

깃저장소 클론

git clone git@gitlab.iasdf.com:proj/projtest.git

깃 svn init

# git svn init [[SVN_URL]] -T Trunk -b Branches -t Tags --prefix=origin/
git svn init svn://10.1.1.10/path/to/branch --prefix=origin/

깃 fetch로 변경내용 불러오기

git svn fetch

이후 푸시

# 필자는 git-svn 브랜치로 하나 따서 진행함.
git checkout -b git-svn remotes/svn/git-svn
git push origin git-svn

main에 git-svn 내용을 머지

git checkout main
git pull origin git-svn --allow-unrelated-histories
git push origin main

svn 내용 추가로 가져오기

git checkout git-svn
git svn rebase
git push orign git-svn

# main 병합
git checkout main
git pull origin git-svn --allow-unrelated-histories
git push origin main

svn dcommit

git svn fetch
git rebase remotes/svn/git-svn
git svn dcommit --username <svn username>

git config 적용

해당 git config 적용 시 git svn init 명령어 사용하지 않아도 됨.

git config --local include.path ../.gitconfig

이후 .gitconfig 파일을 생성하여 적용
[svn-remote "repo1"]
	url = svn://ip/repo/1/
	fetch = :refs/remotes/origin/repo1
[svn-remote "repo2"]
	url = svn://ip/repo/2
	fetch = :refs/remotes/origin/repo2

Comments