이미 PR open 된 브랜치의 커밋 메세지를 변경해도 될까 (궁금하면 해본다 시리즈)

jay·2022년 8월 6일
1

궁금하면 해본다 시리즈 1탄

결론부터 말하면 되긴 된다. 조건부로.
이미 누가 해당 브랜치를 받아 작업을 진행했다면 깃이 (심각하게) 꼬일 수 있다.
근데 왠만한 경우 머지 되기 전에 해당 브랜치에 이어 작업하는 경우는 없으므로 괜찮지않을까?

목차

  1. 글 쓴 이유
  2. 테스트
  3. 결과

글 쓴 이유

사이드 프로젝트를 코틀린 + 스프링 조합으로 진행하던 도중, 마침
line에서 만든 코틀린 jpa 라이브러리인 Jdsl을 알게 되어 접목해보았다.
(링크 : https://github.com/line/kotlin-jdsl)

사용해보다가 운 좋게 컨트리뷰트 해 볼 만한 것이 생겼고, 희희낙락하며 pr을 날렸는데 dog고수분들의 무수한 악수변경 요청을 받았다.

몇 일동안 열심히 작업 진행 후 드디어 approve를 받아 github action이 돌았는데, commit lint가 뺀찌를 놨다.


이..이게 뭐꼬..

물론 commit message에도 컨벤션이 있다는 건 알았지만, 이게 린트까지 있는 지는 처음 알았고 굉장히 당황했다. (이것도 린트가 있네..)

'이미 PR은 open 되었고, 리뷰도 상당히 진행 되었는데 어카지'
'이미 리뷰 진행된 pr에 commit message를 변경하면 꼬이는 거 아닌가?'
'아 그냥 새로 브랜치 파서 다시 진행할까'

하는 생각들이 스쳐 지나갔다.

해서 직접 레포지토리를 파서 해보기로 했다.

테스트

테스트 순서는 다음과 같다.

1. 레포를 만든다.
2. 브랜치를 딴다.
3. 무언가를 바꾸고, 푸쉬한다.
4. pr을 열고, 리뷰를 남긴다.
5. 커밋 메세지를 변경하고 force push 한다.
6. 이상 없나 확인한다.

1. 레포를 만든다


commit-test라는 브랜치를 만들었다.

2. 브랜치를 딴다


클론 받고, change-commit-message-after-pr-open 이라는 브랜치를 만들었다.

3. 무언가를 바꾸고, 푸쉬한다

원본변경본

read me를 열고 내용을 변경한다.


브랜치 등록

커밋 메세지 작성 후 push

4. pr을 열고, 리뷰를 남긴다


pr 열기

test: commit message라는 커밋 메세지가 잘 등록되어 있다.

리뷰를 남겼다.

5. 커밋 메세지를 변경하고, force push 한다


git commit --amend 라는 명령어를 통해 가장 최근의 커밋 메세지를 변경할 수 있다.

원본변경본

commit message를 변경하고 저장한다.


force push

6. 이상 없나 확인한다


커밋이 새로 생기거나 하진 않고 기존 것이 변경되었다.

변경이 잘 되었다.

갓허브님께서 머지를 허락하셨다.

결과


흐뭇

0개의 댓글