결국 구글은 현재 Mercurial을 지원한다.
http://code.google.com/p/support/wiki/DVCSAnalysis
Git의 장점
1. 저장소 공간을 적게 사용한다.
2. N-way Merge가 가능하다.
Mercurial은 2 parents 밖에 안되므로 N-1 two way-merge 로 동작하지만
Git는 최초의 조상부터 Merge에 참여시킬 수가 있다.
3. Rebase (하지만 Mercurial도 후에 rebase를 지원한다)
Mercurial의 장점
1. 학습비용
- Mercurial은 Git에 비해 더 완성도 높고 쉬운 문서화가 되어 있고,
사용방법이 SVN이나 CVS와 비슷해서 접근성이 좋다.
2. Windows 지원
- Git는 태생적으로 Linux를 베이스로 한 프로그램이라 Windows에 대한 지원은 약하다.
Mercurial은 Python 기반이므로 Windows OS에서도 잘 돌아간다.
3. 유지관리
- Git는 repository의 주기적 관리가 필요하다. (git-gc)
Mercurial은 그런 관리가 필요하진 않지만 그 대신 저장소 공간을 많이 소비한다.
4. 히스토리를 바꿀 수 없다.
- Git는 기능이 너무 강력한 나머지 --force 옵션을 통해서 remote repository의 히스토리를 날려버릴 수도 있다.
(하지만 이것은 장점이 되기도 하지만 단점이 되기도 한다...)
Git는 그 태생의 성격과 부합하는, 공부하지 않는 자에겐 불친절한 프로그램이다.
옵션이 많아 강력하되 사용하기에 복잡하고 학습해야 할 분량이 상당하다.
'버전관리' 카테고리의 다른 글
[Mercurial] TortoiseHG를 이용한 버전관리 (0) | 2010.10.06 |
---|---|
[Mercurial] TortoiseHG 설치 (2) | 2010.10.06 |
[SVN] TortoiseSVN으로 로컬에서 버전관리하기 (2) | 2009.10.20 |
SubVersion Best Practices (0) | 2009.10.01 |
SubVersion에서 하지 말아야 할 10가지 (0) | 2009.10.01 |