우리는 동일한 제품을 개발중인 60 명 이상의 개발자로 구성된 팀으로 SVN에서 Github로 옮겨 가고 있습니다. 우리는 SVN에서 개별 파일을 잠그고 개발자가 코드를 커밋하려고 할 때마다 파일 소유자가 잠금을 해제해야하는 프로세스가 있습니다. 우리 중 세 명이 총 150 개 이상의 파일 소유자입니다. 잠금 해제에는 코드 검토가 선행됩니다.github을 사용할 때 개별 파일이나 디렉토리를 포크에 잠글 수있는 방법이 있습니까?
Github에서 우리는 포크 복제 모델을 사용할 계획입니다. dev의 그룹이 작업하고있는 각 프로젝트는 포크를 수행 할 것입니다. 각 개발자는 포크 복제본을 작성하고 코드 &을 작성하고, 이 기능의 리드는 업스트림으로 끌어 오기 요청을 수행합니다.
큰 문제는 아니지만 큰 프로젝트가 전달되면 검토를 위해 변경 사항이 많이 생겨 파일 소유자의로드가 증가합니다. 또한, 이것은 개발의 후기 사이클에서 발생할 수 있으므로 프로젝트가 위험해질 수 있습니다.
우리가 생각할 수있는 한 가지 방법은 git 푸시가 시작될 때 (fork) 후크를 사용하는 것입니다. 업스트림에 최종 리뷰가있을 수 있습니다.
그러나 github 확장 또는 푸시 후크를 찾을 수 없습니다. Github를 사용하여이 작업을 수행하는 빠른 방법 (기존 확장 읽기)이 있습니까? 아니면 git에서 사용할 동일한 후크를 사용해야합니까?
파일 잠금이 힘내라는 느낌이 들지 않습니다. (대부분 SVN에서 짜증납니다.) 대부분의 경우, 나는 확실히 요청을 받고 브랜칭이 당신을 위해가는 길이다. 하위 모듈을 사용하여 프로젝트의 다른 부분을 다른 repo에서 분리 할 수도 있습니다. 그러면 팀간에 훨씬 더 분리 된 분리 (파일 보호)가됩니다. 그래서 파일 소유자는 메인 서브 모듈 소유자가 될 것이고, 그는 자신의 팀이 자신의 메인 브랜치에서 만든 모든 풀 요구를 수정할 것입니다. 그런 다음 모든 사용자는 자신의 포크가 있습니다. –
http://programmers.stackexchange.com/questions/184435/workflow-using-binary-document-formats-in-git-without-locks-moving-from-subver – Steen
@SimonBoudrias 당신의 아이디어는 완벽하게 작동하지 않습니다. git 병합 도구가없는 모든 문서 유형에 사용됩니다 (거의 항상 그렇습니다). TortiseSVN/WebSVN을 사용하면 MS Exchange를 피할 수는 없지만 git에서는 할 수 없습니다. 내 생각에, 그것은 자식의 매우 불행한 fallback입니다. – peterh