저장소를 개발자의 로컬 컴퓨터에 복제하는 것은 이미 일종의 포크입니다. 각 개발자가 GitHub에서 저장소를 분기하면 현재 작업 상태 만 게시하는 역할 만합니다.
중앙 마스터 리포지토리와 해당 리포지토리에 직접 액세스 할 수없는 많은 기고자가있는 경우에 적합 할 수 있습니다. 이것은 모든 사람이 풀 요청에 기여하고 발행 할 수있는 오픈 소스 프로젝트에 유용합니다. 그런 다음 핵심 유지 관리 그룹이 검토하고 병합합니다. 다중 저장소를 사용하면 풀 요청 기반 워크 플로가 적용됩니다.
작고 신뢰할 수있는 팀에서는 필요하지 않습니다. 서로 다른 사람들이 서로를 방해하지 않도록하기 위해 Git Flow와 같은 전략을 따를 수 있습니다. 각각의 작은 기능은 별도의 기능 지점에서 구현됩니다. 기능이 완료되면 마스터 브랜치로 병합됩니다. 대부분의 팀은이를 규칙에 따라 풀 요청 또는 코드 검토와 결합하지만 적절한 경우이를 건너 뛸 수있을 정도로 신뢰할 수 있습니다. 개별 리포지토리는 개발자가 포크 상태이지만 팀이 볼 수있는 리포지토리에 현재 상태를 게시하게하는 반면 단일 리포지토리에서는 변경 사항을 별도의 기능 지점으로 푸시합니다. 마스터 / 트렁크에서 모든 개발을 수행하는 것은 대부분의 워크 플로에서 권장되지 않습니다.
차이점은 액세스 관리에만 국한되며 구현 된 워크 플로에는 그다지 중요하지 않습니다. 둘 중 하나의 설정으로 풀 요청 기반 워크 플로우를 수행 할 수 있습니다. 원시 Git 관점에서 볼 때 포크와 브랜치 사이에는 큰 차이가 없습니다. 두 가지 접근 방식은 본질적으로 프로젝트 기록을 공유하고 다른 브랜치 / 포크에 영향을 미치지 않고 커밋을 추가 할 수 있습니다. 이를 고려하면 신뢰할 수 있고 닫힌 그룹에있을 때 단일 리포지를 공유하는 것이 훨씬 좋습니다.