나는 힘내에게 다소 익숙하다. 내 임무는 3 명의 개발자를 위해 3 개의 분기를 만들어서 자신의 분기에만 연결하고 자신의 분기로만 작업하는 것입니다. 이 같은 뭔가 :git으로 사설 지부 만들기
developer 1 == branch 1
developer 2 == branch 2
어떤 도움이나 자습서가 도움이 될 것입니다.
나는 힘내에게 다소 익숙하다. 내 임무는 3 명의 개발자를 위해 3 개의 분기를 만들어서 자신의 분기에만 연결하고 자신의 분기로만 작업하는 것입니다. 이 같은 뭔가 :git으로 사설 지부 만들기
developer 1 == branch 1
developer 2 == branch 2
어떤 도움이나 자습서가 도움이 될 것입니다.
그들은 단지이 작업을 수행해야합니다
개발자 1 : git checkout branch1
개발자 2 : git checkout branch2
개발자 3 : git checkout branch3
그래서 그들은 자신의 가지를 사용합니다. push
은 체크 아웃 된 지점에만 적용됩니다.
하지만 원하는 경우 다른 지점을 사용할 수 있습니다. 따라서 다른 지사를 사용하지 못하게하려면 모든 개발자를위한 별도의 저장소를 만드십시오.
힘내네는 자체적으로 어떤 접근 통제도 포함하지 않습니다.
Gitolite은 별개의 가지에 대한 액세스 설정을 포함한 액세스 제어 기능을 제공하는 Git 서버입니다.
확인해 주셔서 감사합니다. 하지만 내 로컬 호스트에서 복제본을 하나의 브랜치에만 만들 수 있습니까? –
답이 도움이된다면 투표 버튼 아래에 표시를하여 상향/축소 표시 할 수 있습니다. –
또한 지점에 대한 액세스 권한을 설정하는 것이 소규모 팀에서 일하는 올바른 방법인지 궁금합니다. 이러한 제약 조건이 실제로 필요한 것입니까? –
Git으로 생성 된 모든 브랜치는 처음에 개인용이며 트렁크는 기본적으로 브랜치입니다. 당신이 묘사하고있는 것은 Git의 기본 동작입니다.
Git에서 분기 처리가 다른 점에 대해 at this article을 살펴보십시오. 또한 this tutorial은 Subversion에서 Git으로 마이그레이션하는 사람들에게 유용합니다.
+1이 생성 될 것입니다. 저장소를 복제 할 때 저장소의 사본이 있습니다. 명시 적으로 공개 저장소에 푸시하지 않는 한 모든 작업은 비공개입니다. – poke
당신이 참조하는 git 위키 문서에는 svn과 git를 비교할 때 많은 실수가 있습니다. 분기 관련 단락은 http://svnvsgit.com/ – bahrep
에 따르면 예외는 아닙니다. @bahrep은 wiki 페이지가 2012 년에 (이 질문이 제기되었을 때) 다시 작성되었으며 다소 오래된 것일 수 있음을 인정했습니다. VCS의 ' 그 이후로 계속 나아갔습니다. 그러나, 나는 svnvsgit.com을 참조하지 않으려합니다. 1) Git/SVN과 2) 대부분의 요점은 내가 검증 할 수 없었던 모호한 직접 연구를 참조했기 때문에 명확하지 않습니다. 우리의 Subversion 저장소를 사용하여 0.093 초 내에 지점을 만들 수 없다는 것을 확인할 수 있습니다. http://svnvsgit.com/#branch-creation-benchmarks. – seanhodges
나는 seanhodges 제안으로 각 개발자 클론 상류의 repo, 그들은 가지의 개인 버전, 예를 들어 마스터있을 것이다 때 기본적으로 http://progit.org 또는 http://sethrobertson.github.com/GitBestPractices
에 하나, 자식 워크 플로우에 읽어 좋습니다. 그들은 원하는대로 할 수 있습니다. 다른 사람들과 공유 할 준비가되면 푸시/당기기/등. "dev1"이라는 브랜치에 있어야하는 특별한 이유는 없습니다. 다른 사람들이 자신의 물건을보고 싶다면 dev의 repo를 리모컨으로 추가하면 dev1/master를 볼 수 있습니다.
당신이 제안한 방식대로하고 싶다면 물론 할 수 있습니다. 그냥 git checkout $USER
. 사람들은 사용자 분기보다 기능 분기 (특정 기능의 분기)를 만드는 것이 더 유용하다는 것을 알게됩니다.
당신이 말하는 경우 액세스 제어, 그럼 확실히 gitolite 다른 답변에서 언급 한대로 최선의 방법이지만, 실제로 당신이 가장 공식적인 상황을 제외하고 귀찮게 해야하는 이유가 없습니다. 사용자가 무언가를 조이면 그 변경 사항을 즉시 없애거나 이전 상태로 복원 할 수 있습니다.
감사합니다. 모든 브랜치에서 사용자 이름을 어떻게 설정합니까? 커밋은 지점 사용자 여야합니다. 예 : branch1의 커밋 작성자는 branch2 -> user2 –
의 user1이어야하며 해당 분기에 'checkout'해야하며 해당 커밋은 해당 분기에만 적용됩니다. 그들이'checkout branch_name'을 사용한 다음 서버를 제거하기 위해'push' 할 때, 분기는 –