GitHub Merge Queue 일반 공개
(github.blog)- 싱글 브랜치에서 많은 사용자들이 커밋하는 팀을 위해 설계
- 충돌을 막기 위해 머지큐는 아래의 내용을 포함한 임시 브랜치를 생성
- 베이스 브랜치의 최종 변경 내역
- 머지 큐에 있는 다른 사람들의 풀 리퀘스트에 있는 변경 내역
- 당신의 풀리퀘스트 변경 내역
- Repo 관리자가 "Require Merge Queue"를 활성화 필요
- 머지 큐 설정 조정: merge method, build on currency, merge limits, only merge non-failing pull requests, status check timeout
- 각 개발자는 큐에 추가할 PR을 열고 "Merge When Ready"를 클릭하면 됨
참고로 깃랩의 merge train과 같은 기능입니다.
- https://docs.gitlab.com/ee/ci/pipelines/merge_trains.html
- https://about.gitlab.com/blog/2020/12/14/merge-trains-explained/
다음은 더 쉽고 시각적인 설명입니다.
한마디로 바로 병합하는 대신 git의 stage 영역의 개념처럼 Merge ready 상태를 도입함과 같습니다.
- 풀리퀘스트를 바로 병합하는 대신 Merge queue에 추가함
- Merge queue에 존재하는 분기의 상태로 풀리퀘스트를 업데이트
- 다시 CI 검사를 실행함