태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

[GIT-SVN] svn dcommit 시 하나의 commit 으로 반영하기

Posted on 2014.05.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이 전달되게 됩니다. :)

신고
TAG : , , ,

댓글을 달아 주세요

About



모바일 페이지 QR 코드

Counter

· Total
: 466,357
· Today
: 49
· Yesterday
: 64


DNS server, DNS service