Git-flow 돌아가는 흐름에서 Gerrit에 의한 코드 검토 구현 방법

2670 단어 SourceTreeGit
사내에서, Git-flow 돌아가는 플로우로 Gerrit에 의한 코드 리뷰를 실시하고 있으므로, 정리를 겸해 메모한다

전제



내용에 대해



기사로 쓰기


  • 개발시 Gerrit과의 협력 정책

  • 기사에서 쓰지 않는 것


  • Gerrit과의 협력을 구체적으로 조작하는 방법
  • Git-flow 설명

  • 개발 환경


  • 버전 관리: Gerrit v3.0.0 (Git)
  • 버전 관리 GUI 클라이언트 : SourceTree
  • 브랜치의 운용 방법 : Git-flow 돌아가기
  • Git-flow에서 릴리스 브랜치를 제외한 것
  • 개발 태스크 마다 작업 브랜치를 잘라, develop 브랜치에 병합해 나가는, 라고 하는 흐름이 된다


  • 구현 절차





    코드 쓰기


  • 로컬에서 develop 브랜치를 PULL
  • 로컬에 리포지토리를 복제하지 않은 경우 Change-Id 후크를 사용하여 자동 추가를 포함하는 명령을 사용하여 복제합니다.

  • 로컬에서 develop 브랜치에서 작업 브랜치를 자르고 작업 시작
  • 버전이나 빌드 번호를 올리는 등 작업 브랜치를 자를 때까지 없는 세세한 작업은, 직접 develop 브랜치상에서 실시한다

  • 큰 작업의 경우 백업과 세분화 된 진행 공유를 위해 WIP (Work In Progress : 작업 중) 옵션을 사용하여 Gerrit에 PUSH 1
  • 작업 기간이 길면 개발 브랜치를 적절하게 가져 오고 업데이트가있는 경우 작업 브랜치를 개발로 재베이스합니다.

    코드 리뷰


  • 작업이 완료되면 Gerrit의 코드 검토 브랜치에 PUSH 2 하고 검토자 할당
  • WIP로 작업하는 경우 웹에서 코드 검토 시작 버튼을 누르거나 코드 검토 시작 옵션을 사용하여 Gerrit에 PUSH 3

  • 코드 리뷰에서 지적을 받으면 작업 브랜치의 커밋을 수정하고, 다시 PUSH하고, 코드 리뷰를 재개한다.
  • 커밋 메시지의 Change-Id가 변경되지 않도록합니다

  • 코드 검토가 완료되면 마지막으로 승인한 사람에게 Gerrit 웹에서 제출하도록 요청합니다.
  • 이렇게하면 원격 저장소에 변경 사항이 커밋됩니다.


  • 병합 코드 검토



  • develop 브랜치에 fast-forward 없이 병합
  • 이때, develop 브랜치에 체크아웃한 상태에서, SourceTree의 화면 상부에 표시되고 있는 병합 버튼을 누르고, 병합되어 있지 않은 커밋 일람 화면을 이용해 병합하면, 병합 누락 등의 사고가 예방하기 쉽습니다

  • 병합으로 인해 충돌이 발생하면 적절하게 수정하십시오.
  • develop 브랜치를 Gerrit 코드 리뷰 브랜치로 PUSH
  • 충돌이 발생하지 않으면 코드 검토를 통해 직접 제출합니다.
  • 충돌이 발생하여 수정되면 이전 섹션과 같이 코드 검토를 수행합니다.




  • PUSH 대상 원격 분기를 refs/for/hogehoge%wip로 지정합니다.

    PUSH 대상 원격 분기를 refs/for/hogehoge로 지정합니다.

    PUSH 대상 원격 분기를 refs/for/hogehoge%ready로 지정합니다.

    좋은 웹페이지 즐겨찾기