여기서는 git으로 협업시의 merge, rebase, squash에 대한 차이와 merge전략에 대한 얘기를 하고자 한다. 현업에서는 회사마다 git branch전략이 제각각 이겠지만, 일반적으로는 develop(개발) -> release(운영)과 같은 형식으로 브랜치가 구성돼 있거나, 단일 main 브랜치로 운영이 된다 하더라도 협업을 할때에는 각각의 feature브랜치 만들어 작업후에 merge하는 과정을 거쳐 git에서 소스코드를 관리할 것이다. 예를 들어) 기능 추가/수정 시에 개발자들이 feature브랜치를 따서 개별적으로 브랜치에서 작업한 후에 develop으로 PR을 올린 이후에, 해당 PR을 merge하는 과정을 거치게 될 것이다. 충분한 테스트와 검증이 끝나면 develop에서 rele..