Git | GitLab

[GitLab] Merge Request - Squash 기본 활성화하기

비번변경 2024. 9. 19. 18:05

개요

2024.08.30-[Git] Squash - 커밋 압축하기에서 여러 개의 작은 커밋을 하나의 커밋으로 압축하는 Squash를 알아보았다.

이번 글에서는 GitLab에서 Merge Request를 머지할 때 Squash 기능을 사용하는 방법을 적어둔다.

 

 

Merge Request - Squash

GitLab에서 Merge Request를 할 때 Squash commits 체크박스를 체크하면 머지할 떄 압축된 커밋 하나와 머지 커밋 하나, 총 두 개의 커밋이 target branch에 추가된다.

 

 

기본 옵션 설정

레포지터리 설정에서 Merge Request를 생성할 때의 Squash 관련 기본값을 설정할 수 있다. 설정할 수 있는 기본값은 아래와 같다.

  • Do now allow : Squash 미허용. 체크 박스 미표시.
  • Allow : Squash 허용. 체크 박스 표시.
  • Encorage : Squash 허용 및 체크 박스가 체크된 상태로 표시. 임의로 비활성화 할 수 있다.
  • Require : Squash 항상 수행. 체크 박스가 체크된 상태로 표시. 임의로 비활성화 할 수 없다.

레포지터리의 머지 리퀘스트 설정 페이지는 레포지터리 메뉴바 > 설정 > 머지 리퀘스트로 접근할 수 있다.

머지 리퀘스트 설정 페이지에서 Squash commits when merging가 관련 항목에 해당된다. 

필요에 의해 적절히 설정한 후 저장하면, 이후에 새로 생성되는 머지 리퀘스트부터 적용된다. 이전에 생성되어 오픈 상태인 머지 리퀘스트에는 소급 적용되지 않는 것 같다.

 

 

참고 문서

https://docs.gitlab.com/ee/user/project/merge_requests/squash_and_merge.html