회사에서 현재 개발중인 프로젝트의 소스를 전사 소스 서버 대신 별도의 git 서버로 관리하고 있었는데,
이번에 전사 서버로 이전을 하게 되었네요.
전사 서버는 Subversion으로 운영중인지라... 어떻게 하면 히스토리의 유실없이 옮길 수 있는지 방법을 찾고 있었는데, 입맛에 딱 맞는 방법이 써 있는 블로그가 있네요. :-)
출처는 이곳입니다.
Migrate a Git repo to a SVN one
We often see the opposite, convert a SVN repository into a Git one and try the breeze of a DVCS, but what if you want to convert a Git repo into a SVN one?The process is not easy (and you need a "straight" Git repo: no merge, too complex branches and so), and the result is quite raw, but you're still able to convert the main part into SVN. Here are the steps:
- create an empty SVN repository: svn mkdir svn://path/to/repo/project/{trunk,branches,tags}
- clone it in a Git repo: git svn clone svn://path/to/repo/project --stdlayout . This will create a project directory, empty except for the .git information directory; master is the default Git branch created by git-svn that maps SVN trunk.
- cd project
- add the original Git repo as a remote: git remote add origin git://uri/to/git/repo/project.git
- fetch from it: git fetch origin
- create a local branch for the remote master: git checkout -b old_master origin/master . Note that master branch is already present, so we define another one.
- being on old_master we rebase this branch onto master: git rebase --onto master --root . Doing this, we have "moved" all our commits from old_master to master
- and push all the commits into the SVN repo: git svn dcommit
'IT > Programming' 카테고리의 다른 글
configure시 PKG_CHECK_MODULES에서 에러가 나는 경우 (0) | 2015.07.15 |
---|