create merge
- 일반적으로 알고있는 방식
- 브랜치가 따로 나와서, 커밋들이 달리고, 머지 되는 것 까지 그래프 상으로도 다 기록됨
squash merge
- 브랜치를 따서 작업했던 모든 커밋들을 하나의 커밋으로 작성하며, 메인 브랜치의 커밋 하나로 남김.
- 그래프 상으로 삐죽 나오지 않음.
- 마치 메인 브랜치에 커밋 하나를 단 것과 같이 보임

이슈
스쿼시 머지 이후, 아무런 추가 작업 없이 다시 PR만 올려봤는데 3 commits changed로 뜬다.
이유는 staging 브랜치에는 스쿼시 머지로 붙으면서 완전히 새로운 하나의 commit이 생성되어 남게 된 것이므로, staging 브랜치에는 develop에 있던 commit hash 들이 존재하지 않으므로 변화된 내용으로 인지한다.

rebase merge
- 브랜치를 따서 작업한 것이, 마치 메인 브랜치에서 커밋을 남기면서 작업한 것과 같도록 하는 방식.
- 즉, feature를 따서 커밋을 남겼던 것들이 그대로 메인 브랜치의 커밋으로 들어감