질문답변Q1. 강제 삭제를 해야만 한다Q2. 커밋을 얼마나 잘 나눴느냐에 따라 다른 것 같다Q3. 머지 커밋을 남기는 방식을 사용하되 불필요한 커밋은 PR 머지 전에 브랜치 단에서 작업한다See also
질문
- Q1. Github PR에서 Squash and merge를 한 다음에 로컬에서 PR 올린 브랜치 삭제하는 방법?
- Q2. PR 머지 방법 중 Squash and merge가 좋은 전략일까?
- Q3. 그러면 어떤 방법을 선호하는가?
답변
Q1. 강제 삭제를 해야만 한다
Q2. 커밋을 얼마나 잘 나눴느냐에 따라 다른 것 같다
커밋을 잘 나눴다면 스콰시 머지를 해도 좋다. 그러나 스콰시한 커밋 단위가 너무 크면, 해당 커밋에 구체적으로 어떤 작업이 포함되었는지 파악하기 힘들고 나중에 롤백을 해야 하거나 특정 기능을 리버트해야 할 때 작업이 복잡해진다.
그리고 스콰시 머지 전략의 장점인 "간소한 Git 이력"은 스콰시 머지가 아니더라도 PR이 머지 되기 전에 브랜치 단에서 rebase한 후 force-push 하면 달성할 수 있다.
Q3. 머지 커밋을 남기는 방식을 사용하되 불필요한 커밋은 PR 머지 전에 브랜치 단에서 작업한다
예시:
# 1. PR 올린 후 사소한 오타가 발견되어 수정을 요청 받았다 # 2. 오타를 고친다 git add . git commit --amend --no-edit # 3. force push 한다 git push --force # 4. PR 승인을 받아 머지한다