본문 바로가기

TechLog

요즘 케냘의 DVCS 생활

DVCS(분산 버전 관리 시스템)이 언제인지부터 대유행하고 있으니 나도 한 번 써 봐야지, 라는 생각을 처음 한 것은 아마 2년 전이었던걸로 기억한다. svn만 사용하고 있었던 사람 입장에서 git을 먼저 시도해 본 첫 인상은 '뭐가 이렇게 복잡해진겨?'였다. git과 svn은 기본 개념 자체가 다른지라 아예 git의 관점에서 새로 학습을 했어야 하는 것이었는데, 그냥 svn처럼 사용하려고 보니 왜 중간 저장소가 하나 더 존재해야 하는건지 왜 커밋 푸시 과정이 별도로 있는건지 이해를 못 하고 있었다.

대형 프로젝트를 진행할 일이 없었던지라 svn조차도 형상관리라기보다는 소스 백업 용도로 사용하고 있었던 상황에서, git이란 것을 굳이 배울 이유가 있겠나 싶어서 또 한참 잊어먹고 있다가 ... (라고 쓰긴 했지만 아예 안 쓰진 않았다. github 같은데서 가끔 소스 가져와야 할 일이 있다보니) 올해 들어서야 hg(=mercurial)를 접하고 이럭저럭 열심히 쓰고 있다. 현재는 git과 hg를 둘 다 사용하고 있다.

딱히 git하고 hg를 둘 다 써야할 이유는 없지만, 개인 저장소로 github와 bitbucket을 쓰고 있다보니 자연스럽게 이렇게 되었다. github는 그 이름대로 git밖에 지원하지 않고, bitbucket의 경우 예전에는 hg만 지원하는 바람에(지금은 git과 hg를 둘 다 지원한다) 별 생각 없이 둘 다 쓰게 된 것. 

git과 hg 중 어느 것이 더 좋은지는 잘 모르겠다. 브랜치를 여럿 만들 일이 없는 소규모 프로젝트만 진행하고 있고, 성능상의 문제도 아직은 그다지 겪고 있지 않으니까. 성능보다는 네트워크 대역폭이 더 문제지 뭐. 혹시라도 git과 hg 중 뭐가 좋은지 모르겠다는 분은 다음 주소를 방문해 보자 : http://gitvsmercurial.com/

얼마 전까지는 svn, git, hg 클라이언트를 각각 깔아서 써야해서 귀찮았지만, (svn은 요즘 개인적으로는 거의 안 쓰고 있고) 최근 atlassian이 맥용 git/hg 클라이언트 도구인 SourceTree를 인수하면서 툴을 무료 배포하기로 결정했다. 덕분에 편하게 작업을 하고 있는 중.