나는 이것에 대한 많은 답변이 저자가 하나 또는 다른 SCM에 대해들을 때 느끼는 감정에 의존하는 것을 본다. 다른 사람들은 그것이 모두 행운이라고 말합니다. 나는 역사상 행운이 거슬러 올라갈 수 있다고 생각합니다.
나는 역사에 대해 이야기 할 것입니다.
동일한 문제를 해결하기 위해 Git 과 Mercurial 이 동시에 생성되었습니다. 당시 리눅스 커널은 3 년 동안 사용했던 독점 분산 형 SCM 인 BitKeeper의 사용을 중단해야 했습니다. 그 이유는 BitKeeper의 회사 인 BitMover의 CEO 인 Larry McVoy가 Linux 커뮤니티의 누군가가 리버스 엔지니어링을했기 때문에 소프트웨어를 Linux 개발자에게 무료로 제공하지 않기 때문입니다.
이미 존재하는 것에 불만족 한 Linus Torvalds는 곧 새로운 GCM을 시작하여 곧 Git이라고 불렀습니다. 그 후 Matt Mackall은 비슷한 이유로 Mercurial 프로젝트를 시작했습니다.
Matt Mackall은 이러한 프로젝트를 개별적으로 개발 한 후 SCM의 고급 버전을 제시하고 특정 방식으로 벤치마킹하여 Git과 비교했습니다. Linus 는 커널 개발을 위해 Git 대신 Git 을 사용하는 것을 고려 했지만 Mercurial이 수정 세트를 기록하기 위해 Changesets를 사용하고 있다는 사실을 깨달았습니다 . 그는 이것이 BitKeeper가 작동하는 방식에 너무 가까워 두려웠으며 누군가 "BitKeeper 복제본을 만들었습니다"라고 말하는 것을 원하지 않았습니다.
따라서 Git은 Mercurial 대신 Kernel 개발에 사용되었지만 기술적으로 관련이있었습니다. 최종 결과는 Git이 실제로 사용되도록 설계된 곳에서 시작하여 시작되었지만 Mercurial은 처음 큰 FOSS 사용을 찾는 것만 큼 빠르지 않았습니다. 매우 훌륭한 디자인이 제공되었고 Matt Mackall의 인내 덕분에 결국 유명 해졌고 큰 실제 프로젝트에 사용되었습니다.
오늘날 그들은 유명합니다. 가장 유명한 것은 말할 수 없습니다. Google 코드는 최근 Git을 통합 한 반면 오랫동안 Mercurial을 사용했습니다. 정말 크고 유명한 프로젝트 중 하나를 사용합니다.
내 말은 프로젝트를 시작한 이유가 사라지면 인기를 얻는 것이 어렵지만 여전히 가능하다는 것입니다.
Bazaar 는 GNU 세계에서 매우 유명한 또 다른 SCM이지만 GNU 커뮤니티를 만족시키기위한 의도로 만들어 졌기 때문에 그다지 많지 않습니다. 소프트웨어는 종종 제작자가 가고 싶은 곳으로 이동합니다.
반면에 분산 SCM은 확실한 승자입니다. 널리 사용되는 비 분산 SCM이 많지 않습니다.