2012-07-22 2 views
0

나는 힘내에게 다소 익숙하다. 내 임무는 3 명의 개발자를 위해 3 개의 분기를 만들어서 자신의 분기에만 연결하고 자신의 분기로만 작업하는 것입니다. 이 같은 뭔가 :git으로 사설 지부 만들기

developer 1 == branch 1 
developer 2 == branch 2 

어떤 도움이나 자습서가 도움이 될 것입니다.

답변

0

그들은 단지이 작업을 수행해야합니다
개발자 1 : git checkout branch1
개발자 2 : git checkout branch2
개발자 3 : git checkout branch3
그래서 그들은 자신의 가지를 사용합니다. push은 체크 아웃 된 지점에만 적용됩니다.
하지만 원하는 경우 다른 지점을 사용할 수 있습니다. 따라서 다른 지사를 사용하지 못하게하려면 모든 개발자를위한 별도의 저장소를 만드십시오.

+0

감사합니다. 모든 브랜치에서 사용자 이름을 어떻게 설정합니까? 커밋은 지점 사용자 여야합니다. 예 : branch1의 커밋 작성자는 branch2 -> user2 –

+0

의 user1이어야하며 해당 분기에 'checkout'해야하며 해당 커밋은 해당 분기에만 적용됩니다. 그들이'checkout branch_name'을 사용한 다음 서버를 제거하기 위해'push' 할 때, 분기는 –

0

힘내네는 자체적으로 어떤 접근 통제도 포함하지 않습니다.

Gitolite은 별개의 가지에 대한 액세스 설정을 포함한 액세스 제어 기능을 제공하는 Git 서버입니다.

+0

확인해 주셔서 감사합니다. 하지만 내 로컬 호스트에서 복제본을 하나의 브랜치에만 만들 수 있습니까? –

+0

답이 도움이된다면 투표 버튼 아래에 표시를하여 상향/축소 표시 할 수 있습니다. –

+0

또한 지점에 대한 액세스 권한을 설정하는 것이 소규모 팀에서 일하는 올바른 방법인지 궁금합니다. 이러한 제약 조건이 실제로 필요한 것입니까? –

3

Git으로 생성 된 모든 브랜치는 처음에 개인용이며 트렁크는 기본적으로 브랜치입니다. 당신이 묘사하고있는 것은 Git의 기본 동작입니다.

Git에서 분기 처리가 다른 점에 대해 at this article을 살펴보십시오. 또한 this tutorial은 Subversion에서 Git으로 마이그레이션하는 사람들에게 유용합니다.

+0

+1이 생성 될 것입니다. 저장소를 복제 할 때 저장소의 사본이 있습니다. 명시 적으로 공개 저장소에 푸시하지 않는 한 모든 작업은 비공개입니다. – poke

+0

당신이 참조하는 git 위키 문서에는 svn과 git를 비교할 때 많은 실수가 있습니다. 분기 관련 단락은 http://svnvsgit.com/ – bahrep

+0

에 따르면 예외는 아닙니다. @bahrep은 wiki 페이지가 2012 년에 (이 질문이 제기되었을 때) 다시 작성되었으며 다소 오래된 것일 수 있음을 인정했습니다. VCS의 ' 그 이후로 계속 나아갔습니다. 그러나, 나는 svnvsgit.com을 참조하지 않으려합니다. 1) Git/SVN과 2) 대부분의 요점은 내가 검증 할 수 없었던 모호한 직접 연구를 참조했기 때문에 명확하지 않습니다. 우리의 Subversion 저장소를 사용하여 0.093 초 내에 지점을 만들 수 없다는 것을 확인할 수 있습니다. http://svnvsgit.com/#branch-creation-benchmarks. – seanhodges

0

나는 seanhodges 제안으로 각 개발자 클론 상류의 repo, 그들은 가지의 개인 버전, 예를 들어 마스터있을 것이다 때 기본적으로 http://progit.org 또는 http://sethrobertson.github.com/GitBestPractices

에 하나, 자식 워크 플로우에 읽어 좋습니다. 그들은 원하는대로 할 수 있습니다. 다른 사람들과 공유 할 준비가되면 푸시/당기기/등. "dev1"이라는 브랜치에 있어야하는 특별한 이유는 없습니다. 다른 사람들이 자신의 물건을보고 싶다면 dev의 repo를 리모컨으로 추가하면 dev1/master를 볼 수 있습니다.

당신이 제안한 방식대로하고 싶다면 물론 할 수 있습니다. 그냥 git checkout $USER. 사람들은 사용자 분기보다 기능 분기 (특정 기능의 분기)를 만드는 것이 더 유용하다는 것을 알게됩니다.

당신이 말하는 경우 액세스 제어, 그럼 확실히 gitolite 다른 답변에서 언급 한대로 최선의 방법이지만, 실제로 당신이 가장 공식적인 상황을 제외하고 귀찮게 해야하는 이유가 없습니다. 사용자가 무언가를 조이면 그 변경 사항을 즉시 없애거나 이전 상태로 복원 할 수 있습니다.

관련 문제