포크 및 끌어오기 모델
포크 및 당겨받기 모델에서는 누구나 읽기 권한이 있는 기존("업스트림") 리포지토리를 포크할 수 있으며, 업스트림 리포지토리의 소유자가 이를 허용합니다. 포크와 업스트림은 동일한 git 데이터를 공유합니다. 즉, 포크에 업로드된 모든 콘텐츠는 업스트림 및 해당 업스트림의 다른 모든 포크에서 액세스할 수 있습니다. 자신이 만든 리포지토리의 포크로 푸시하기 위해서는 업스트림 리포지토리의 권한이 필요하지 않습니다. 선택적으로 업스트림 리포지토리에 대한 푸시 액세스 권한이 있는 모든 사람이 당겨받기 요청 분기를 변경하도록 허용할 수 있습니다. 이 모델은 새로운 기여자의 마찰을 줄이고 사용지들이 사전 조정 없이 독립적으로 작업할 수 있도록 하기 때문에 오픈 소스 프로젝트에서 인기가 있습니다.
팁: 오픈 소스, 특히 오픈 소스 프로젝트를 만들고 성장시키는 방법에 대한 자세한 내용을 제공하기 위해 건강한 오픈 소스 커뮤니티를 육성하는 데 도움이 되는 오픈 소스 가이드를 만들었습니다. 또한 오픈 소스 커뮤니티를 유지 관리하기에 관한 무료 GitHub Skills 과정을 이수할 수도 있습니다.
공유 리포지토리 모델
공유 리포지토리 모델에서 협력자는 단일 공유 리포지토리에 대한 푸시 액세스 권한이 부여되고 변경이 필요할 때 토픽 분기가 생성됩니다. 끌어오기 요청은 변경 내용이 기본 개발 분기에 병합되기 전에 변경 내용 집합에 대한 코드 검토 및 일반적인 토론을 시작하므로 이 모델에서 유용합니다. 이 모델은 소규모 팀과 조직이 개인 프로젝트에 대해 협업하는 경우 더 많이 사용됩니다.