Gitlab Community 에서 필요로 하는 기능인데, 이렇게 수동으로 할 수 있어서 간단히 남긴다. Gitlab 에 있는 merge request 에 보면 다음 옵션이 있는데, 전부 체크가 해제되어 있다.
- Merge Request 에 성공한 Source Branch 를 삭제
- Merge Request 할 때 Commit 을 하나로 뭉쳐서 Merge (=Squash Merge)
이 체크박스를 개발자가 일일해 해 줘야 하는 문제가 있다. 그래서 어떤 개발자는 체크하는 것을 까먹었다가 master branch 의 commit tree 를 엉망으로 만들기도 한다. 이 문제를 그냥 없애기 위해, 체크박스 표시를 그대로 두도록 하면 어떨까 고민하던 차에, 해결방법을 알아냈다.
/opt/gitlab/embedded/service/gitlab-rails/app/views/shared/issuable/form/_merge_params.html.haml
을 편집기로 연다.check_box_tag
항목으로 시작하는 줄이 두 군데 있는데, 아래와 같이 다음 내용을 ‘추가’ 한다.
= check_box_tag 'merge_request[force_remove_source_branch]', '1', issuable.force_remove_source_branch?, class: 'form-check-input'<span style="color: #ff0000;">, checked: 'checked'</span>
<span style="color: #0000ff;"># ... blahblah</span>
= check_box_tag 'merge_request[squash]', '1', issuable.squash, class: 'form-check-input'<span style="color: #ff0000;">, checked: 'checked'</span>```
다 했다면 gitlab-ctl reconfigure && gitlab-ctl restart
로 Gitlab 서버를 재시작한다.