2014-06-09 1 views
0

우리 팀을 개발자의 병합하는 방법 참여자는 상류로 변경하지만 무시 커밋 기록 로그를

  • 하나는 역할이 할당
    • 우리는 중앙 저장소 (마스터)가 GIT를 사용하여 포크 (fork) 워크 플로우를 구현 프로젝트 관리자의
    • 다른 개발자가 주 저장소 (fork)를 분기하고 로컬 변경 내용을 포크에 푸시합니다. 프로젝트 관리자는 개발자에 의한 모든 커밋을 개발자 (포크) 저장소에 검토합니다.
    • 변경 될 때마다 분기가 만들어집니다.
    • 코드 검토자가 마스터로 푸시 된 모든 커밋을 검토합니다.

    합의 된 수준의 코드 품질이 제공되고 다른 개발자와의 통합을 테스트하는 것은 프로젝트 관리자의 책임입니다. 따라서 개발자와 프로젝트 관리자는 마스터에 변경 사항을 적용하기로 동의하기 전에 커밋을 몇 차례 반복 할 수 있습니다.

    또한 프로젝트 관리자는 마스터로 푸시하기 전에 개발자 코드를 로컬로 변경할 수 있습니다.

    현재 모든 개발자가 커밋을 마스터로 전송 중입니다. 그러나 개발자가 작성한 커밋은 마스터에 표시되지 않지만 유지 보수자가 단일 커밋 (말하기)을 수행해야합니다.

    FORK      MAINTAINERS LOCAL    MASTER 
    --------------------  ---------------------------  ---------------------------- 
    dev_branch1:commit 1  dev_branch1:commit 1 
    dev_branch1:commit 2  dev_branch1:commit 2 
    dev_branch1:commit 3  dev_branch1:commit 3 
              [ edits (possibly) ] 
              qa_branch1: commit 1   qa_branch1: commit 1 
    

    어떻게하면 git을 사용하여 달성 할 수 있습니다. 위의 그림에서 마스터 검토자는 qa_branch1의 커밋 1 만 볼 수 있습니다.

  • 답변

    2

    다음은 분기의 모든 커밋을 단일 커밋으로 스쿼시하여 현재 분기에 병합합니다.

    git merge --squash qa_branch1 
    

    this question for a graph

    를 참조하십시오