squash

개요

master에 pull request 요청을 보내 merge를 하는 협업 Flow를 사용하는 경우 feature-branch의 commit한 내역이 많으면 master 의 커밋 히스토리가 매우 복잡해지게 됨

메시지 정리

pull request 요청을 보내고 git merge할 때 squash merge를 할수도 있겠지만, pull request 보내기 전에 로컬 브랜치에서 rebase를 통해 git commit을 통합할 수도 있음

예시

  • squash

      $ git rebase -i HEAD~3
    
      # 변경전
      pick 6993eaf [LUKE-559] unit, i11 테스트 스캐폴딩
      pick 5a08c42 [LUKE-559] feature 테스트 스캐폴딩
      pick 8e227f1 [LUKE-559] mongodb 테스트 스캐폴딩
    
      # 변경후
      r 6993eaf [LUKE-559] unit, i11 테스트 스캐폴딩
      s 5a08c42 [LUKE-559] feature 테스트 스캐폴딩
      s 8e227f1 [LUKE-559] mongodb 테스트 스캐폴딩
    
    • 변경 전

      • 8e227f1 - (HEAD -> feature/559-project-setup, origin/feature/559-project-setup) [LUKE-559] mongodb 테스트 스캐폴딩 (64 minutes ago)
      • 5a08c42 - [LUKE-559] feature 테스트 스캐폴딩 (77 minutes ago)
      • 6993eaf - [LUKE-559] unit, i11 테스트 스캐폴딩 (82 minutes ago)
      • 44ca663 - (origin/main, main) Initial Commit (2 days ago)


    • 변경 후

      • 1023391 - (HEAD -> feature/559-project-setup) [LUKE-559] 프로젝트 스캐폴딩 (2 hours ago)
      • 44ca663 - (origin/main, main) Initial Commit (2 days ago)