svn과 git 의 차이점 중 하나 는 저장소에 대한 액세스를 제어하는 기능입니다. 누가 변경을 커밋해야하는지에 대한 관점의 차이가 있기 때문에 둘을 비교하기는 어렵습니다!
이 질문은 git을 회사의 팀을위한 중앙 저장소로 사용하는 것에 관한 것입니다. 팀 구성원이 대부분의 회사에서와 같이 기술 수준이 다양하다고 가정합니다.
Git은 유일하게 최고의 (가장 생산적이고 경험이 많은) 프로그래머가 코드를 체크인 할 수 있다고 가정합니다. 이 경우 실제로 코드를 작성하는 데 시간을 들여 다른 사람의 코드를 검토하여 체크인해야합니다. 저는이 질문을 일반적인 버전 관리 방법이 아닌 최고의 프로그래머의 시간을 가장 잘 활용하는 것에 초점을 맞추고 싶습니다 . 직업의 상당 부분이 다른 사람의 코드를 검토하는 것이라면 좋은 프로그래머가 그만두는 것일까 요? 나는 두 가지 질문이 다음과 같이 요약된다고 생각한다.
git
모든 개발자 와 함께 자신의 저장소 (개인용 컴퓨터)와 공개 개인 저장소 (뒤에있는 서버 apache
)를 가지고 변경 사항 만 추가 할 수 있습니다. 차이점은 리드 개발자 리포지토리 만 모든 사람이 체크 아웃해야하는 "축복 된 것"이라는 것입니다. 리드 체크 아웃 코드는 개발자의 공개 리포지토리의 코드를 공개 리포지토리로 병합합니다. 당신은 항상 소스 컨트롤뿐만 아니라 반복 / 알고 / 제어 된 것을 가지고 있습니다.