[GIT-SVN] svn dcommit 시 하나의 commit 으로 반영하기
Posted on 2014. 5. 15. 23:12
Filed Under Development
이 글은 www.jakeworld.net 에서 작성되었습니다.
- 퍼가실 때에는 이 박스와 함께 복사해주세요.
개인적으로 source 변경 이력관리를 위해 작은 수정이라도 변경되면 항상 commit 을 하는 편인입니다. 하지만 여러 사람이 사용하는 SVN에 이런 자잘한 내용을 commit 하기엔 조금 그렇죠?죠?
그래서 이런 문제를 해결하고자 git-svn을 최근에 사용하게 되었습니다.
1. git-svn 으로 원격 SVN 에서 Base source를 local git 저장소로 check-out
2. local git 에 지속적으로 source 변경사항 commit
3. SVN dcommit 으로 git에서 변경 사항 SVN으로 commit
이 과정에서 문제는 SVN dcommit 시 local git 의 commit 내용이 1:1 로 SVN 으로 commit 이 된다는 거죠. 이러한 문제 때문에 local git 의 commit 이 많더라도 SVN으로는 단 한번의 commit으로 반영할 수 있는 방법을 찾아보았습니다.
네. 역시나 없을리가 없지요. (링크)를 참조하면 됩니다.
위 방법을 아래로 전환하면 됩니다.
1. git-svn 으로 원격 SVN 에서 Base source를 local git 저장소로 check-out
2. local git 저장소에서 branch
3. branch 에 지속적으로 source 변경사항 commit
4. dcommit 전에 branch 를 master 로 merge (git-merge --squash)
5. master 내용을 svn dcommit
핵심은 master 로 merge 할 때 한 branch의 이력을 하나의 commit으로 합치는 것입니다. (--squash 옵션)
이 후 svn dcommit시 하나로 합쳐진(squashed) commit이 전달되게 됩니다. :)
'Development' 카테고리의 다른 글
[Tool] 유용한 MP4 Reader 툴 소개 (0) | 2014.05.20 |
---|---|
[Media] FFMPEG에 x265 encoding 활성화 방법 (0) | 2014.05.19 |
[GIT-SVN] svn dcommit 시 하나의 commit 으로 반영하기 (0) | 2014.05.15 |
[C++] C++ RTTI (Run Time Type Information) (0) | 2008.06.17 |
[MFC] MFC 리본 프로그래밍 (2) | 2008.05.19 |
[Win32API] 에디트플러스 에서 API 프로그래밍 환경 구축하기 (2) | 2008.05.16 |
댓글을 달아 주세요