Post

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

방법

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

1
apt-get install git-svn

깃저장소 클론

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

깃 svn init

1
2
# 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/ --id=svn --svn-remote=svn --username=root

깃 fetch로 변경내용 불러오기

1
git svn fetch

이후 푸시

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

main에 git-svn 내용을 머지

1
2
3
git checkout main
git pull origin git-svn --allow-unrelated-histories
git push origin main

svn 내용 추가로 가져오기

1
2
3
4
5
6
7
8
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

1
2
3
git svn fetch
git rebase remotes/svn/git-svn
git svn dcommit --username <svn username>

git config 적용

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

1
2
3
4
5
6
7
8
9
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
This post is licensed under CC BY 4.0 by the author.