[Git] SVN > Git 전환
SVN을 git으로 전환하는 방법 및 과정을 소개해드립니다.
각자 개발하며 SVN 프로젝트가 있으실텐데,
기존에 SVN에서 사용하던 user를 Git에서 사용할 계정으로 매핑도 하고,
프로젝트 소스까지 한 방에 옮길 수 있습니다.
1. 준비물
- 마이그레이션 할 SVN 저장소의 URL
- 작업할 깃 프로젝트 소스 폴더 생성
- git bash 설치
- SVN 계정 ID/PW
- SVN 서버 접속
- Git repository 생성해두기
- Git repository 주소
2. SVN Author과 Git Author 매핑
SVN에 기록된 Author 이름 추출
SVN 서버에 접속 후
svn log --xml --quiet {SVN주소} | grep author | sort -u | perl -pe 's/.*>(.*?)<.*/$1 = /'
users.txt 파일 생성
svn에서 나온 user명을 기준으로 작업할 폴더 내부에 users.txt 파일을 생성합니다.
user명 = 한글명 <git 아이디>
user명 = 한글명 <git 아이디>
3. SVN 저장소를 Git 저장소로 변환
작업할 깃 프로젝트 소스 폴더에 들어간 뒤 우클릭 후 git-bash를 엽니다.
git svn clone {SVN주소} --no-metadata -A ./users.txt ./{프로젝트 소스 저장할 폴더 명}
로그인 창이 뜨게 되면 SVN 계정 ID/PW 으로 로그인을 진행하면 됩니다.
여기까지 진행하게 되면 SVN 프로젝트 소스가 폴더 안에 생성되게 됩니다.
4. Git 에 push 하기
git-bash에서 이어서 작업합니다.
- push할 폴더 이동
cd {프로젝트 소스 저장할 폴더 명} - Git 원격 저장소 추가
git remote add origin {Git repository 주소} - 현재 프로젝트에 등록된 리모트 저장소를 확인
git remote -v - 만약 로컬 브랜치가 master로 되어있으면 main 브랜치 생성
git checkout -b main - push 전 pull 받기
git pull origin main - 수정한 README 파일 Staged Changes에 올리기
git add -A - staging 잘 됐는지 확인
git status - commit 하기
git commit -m "[변경사항] 1. README 수정”` - Git에 push하기
git push origin main
Leave a comment