SMALL
Git 협업 시 가지치기
를 통해 메인 브랜치
에 영향을 주지 않고 테스트 및 기능추가가 가능하다고 했다.
하지만 분기 후 작업을 하고, 사전에 합의되지 않은 병합을 무분별하게 진행하게 되면 결국 메인 브랜치
가 꼬이는 불상사가 발생하는 상황이 올 수 있다.
이런 상황을 방지하기 위해 저장소의 관리자를 제외한 나머지 (Collaborator로 등록된) 인원은 메인 브랜치로
의 병합 권한을 주지 않고, 분기된 브랜치를 끌어오기 요청
함으로써 저장소 관리자가 메인 브랜치에 병합하기 전에 충돌이 없는지 확인 후 메인 브랜치에 병합하는 작업을 수행한다.
형상관리 전략
끌어오기 요청
(Pull Request, 이하PR
)은 형상관리 전략에 따라 수행하는데, 크게Git Flow
와Trunk Based
로 나눠볼 수 있다.- 형상관리 전략을 설명하기엔 게시글이 길어지기 때문에 아래 영상으로 대체한다.
구성 및 흐름
- Git에서의 협업 및 PR 흐름은 대략적으로 아래와 같다.
Issues
탭에 오류, 개선사항, 기능추가 등의 태그를 달아 추후 작업할 내용을 공유한다.브랜치
를 생성해 해당 작업 내용에 따라 작업한다.- 테스트, commit, push 후 더이상 작업할 내용이 없다고 판단되면 해당
브랜치
를PR
에 등록한다.- 본인이 만든 브랜치라면 해당 브랜치 페이지 상단에
Pull Request
를 생성할거냐는 버튼이 뜬다.
- 본인이 만든 브랜치라면 해당 브랜치 페이지 상단에
- 코드 리뷰 후
메인 브랜치
에 병합한다.
- PR 페이지를 보면 다음과 같이 구성되어 있다.
- Conversation: 해당
PR
에 관련된 내용을 상의하는 대화 페이지이다. 스레드 형식으로 구성되어 있다. - Commits: 해당
PR
에 작업된 커밋 내역을 볼 수 있다. - Checks: 해당
PR
의 커밋내역이 리포지토리에 충족하는지를 자동으로 검사해 준다.코드 컨벤션
등 별도 규칙이 있는 회사에서는 많이 사용하지 않고, 오픈소스 프로젝트에서 많이 사용한다. - Files Changed: 해당
PR
에서 어떤 파일들이 최종적으로 어떻게 수정 되었는지 볼 수 있다. - Reviewers:
PR
요청을 확인하고 코드 리뷰를 진행할 사람을 리뷰어로 추가한다.
대체로 저장소 관리자를 지정한다. - Development: 이전에 공유된
Issues
를 연결할 수 있다.
- Conversation: 해당
BIG
'ETC > Git' 카테고리의 다른 글
Git 입문자 안내서 - 06 : 가지치기 (0) | 2024.01.08 |
---|---|
Git 입문자 안내서 - 05 : 코드 변경, 추가 반영하기 (0) | 2024.01.05 |
Git 입문자 안내서 - 04 : 코드를 올려보자! (0) | 2024.01.05 |
Git 입문자 안내서 - 03 : git config (0) | 2024.01.05 |
Git 입문자 안내서 - 02 : Github에서 받아오기 (0) | 2024.01.05 |