2013-07-25 2 views
4

그래서 this model을 구현하기 시작했습니다.성공적인 '자식 분기 모델'구현

저는 힘내와 소프트웨어 구현 과정에 완전히 초보자입니다. 그래서 지금까지 모든 것을 나열했습니다. 당신이 뭔가를 이해하지 못하거나 잘못된 방향으로 움직인다는 것을 알았다면 어떤 조언을 받아야 할 것입니다. 저는 이것이 이것이 다른 사람들에게 큰 도움이 될 수 있다고 믿습니다. 그래서 여기까지 제가 지금까지 한 일이 있습니다. 내가

/var/www/mysite.com/ 
       kohana 
        kohana files 
       www 
        index.php 
        other files 

가 나는 다음과했던 모델을 구현하기 위해 내 웹 사이트의 구조는 다음과 같습니다

  1. 나는에서 베어 저장소를 복제하는 저장소를 초기화하고 처음 만든 것은 커밋 :

    cd /var/www/mysite/ 
    git init 
    git add . 
    git commit - 'initial commit' 
    
  2. 'central repo'(공유 베어 리포지토리)를 배치 할 공유 사용자를 추가했습니다.

    - adduser git 
    - su git 
    - cd 
    
  3. 이 사용자 폴더에 저장소를 복제했습니다. 이것은 'origin'저장소가 될 것입니다.

    adduser maximus 
    adduser len4ik 
    
  4. :

    git branch develop; 
    git branch -a 
        *master 
        develop 
    
  5. 내가 제품을 개발 할 사용자를 추가 :

    git clone --bare /var/www/mysite.com mysite.git; 
    cd mysite.git; 
    
  6. 나는 두 번째 본점 '개발'지금은 두 가지 '마스터'가 추가

  7. 나는 그들을위한 ssh 열쇠를 만들고 .ssh 전화 번호부에 두었다 :

  8. 나는 그들 각각 공개 저장소를 생성

    su maximus; cd; 
    git clone /home/git/mysite.git; 
    su len4ik; cd; 
    git clone /home/git/mysite.git; 
    

이제 Windows에서 TortoiseGit를 설치합니다 내 개발자, SSH 키를 설정하고 Windows에서 TortoiseGit 로컬로 만든 저장소에 공개 저장소에서 가져 . 4 단계에서

  1. 가 어떤 지점을

    을 선택해야합니다 :

    나는 몇 가지 질문이? 지금은 '주인'이지만, 아마 '발전'하기 위해 전환해야합니까?
  2. 사용자가 공개 저장소 (/home/user/mysite)를 밀고 당기는 것으로 가정합니다. 그들의 커밋이 /home/git/mysite.git 인 'central repo'에서 어떻게 끝날 것인가?
  3. 해당 사용자가 지점을 체크 아웃하고 '중앙 repo'에서 업데이트를 얻을 수있는 방법은 무엇입니까?
  4. 언제 realease 및 기능 분기를 만들어야합니까? 'central repo'(/home/git/mysite.git)에서 생성해야합니까?
+0

왜 사용자 당 "공용 저장소"가 필요한가요? – Vasiliy

+0

그게 내가 모델의 설명과 [Git pro book의이 장] (http://git-scm.com/book/en/Distributed-Git-Distributed-Workflows)에서 내가 필요하다고 가정 한 것입니다. 개발자는 자체 공개 저장소가 있습니다 –

답변

0

1) 개발할 분기를 선택할 수 있습니다. 마스터 또는 개발 중 하나를 선택할 수 있습니다.trunk/master -branch 기반 개발을 추천합니다 (이 경우 개발 지 자체를 삭제할 것을 제안합니다).

2) 사용자는 repo를 추적하기 위해 자신의 master 버전을 설정해야합니다 (이 경우 git은 모든 비 커머스 SCM과 동일하게 작동 할 수 있습니다 - 즉, 모든 커미터가 푸시/푸시를하는 중앙 repo를 가짐) . 이 추적/추적을 설정하면 "원격"으로 이동할 수 있습니다.

3) 위와 동일하지만 원격/중앙 repo에서 당겨/밀 수 있습니다.

4) 지속적인 제공/배포 모델을 따르는 경우 기능/릴리스 분기가 필요하지 않습니다. 그렇지 않다면 각 릴리스에 대해 지점을 제안 할 것입니다. 지형지 물은 할 수 있지만, 단명해야한다. 이 경우 master [branch]는 진정한 마스터 [코드베이스의 복사본]입니다.

+0

고마워요! 분산 된 워크 플로를 사용하여 모델을 구현하고 싶습니다. 또한 중앙 워크 플로를 사용하는 것이 좋습니다. –

관련 문제