팀과제 진행중 팀원들이 pull request 받으면 merge 버튼 안눌리도록 보호하려고 했는데 dev 브랜치로 푸시가 된 상황이었다. 아직 초기설정이라 전혀 타격이 없었지만 한창 진행중에 그랬으면 큰일날뻔 했다.ㅎㅎ 충돌지옥
세팅 과정중에서 저 3개의 버튼 중 무조건 하나의 버튼은 클릭해야하는 상황이였는데 어떤걸 선택해야할 지 몰라서 알아보았다.
새로운 브랜치 my-branch 가 main 브랜치로부터 분기된 이후 main 브랜치에 새로운 커밋이 올라오지 않았다면, my-branch 가 main 와 비교하여 최신의 브랜치라고 할 수 있다.
이런 경우 my-branch 의 변경 이력을 그대로 main 으로 가져올 수 있다.
my-branch 가 main 브랜치에서 분기되고, main 브랜치에 새로운 커밋이 생겼다면, my-branch 를 최신이라고 할 수 없다.
my-branch 와 main 을 공통 부모로 한 새로운 Merge Commit 을 생성하게 된다.
Fast-Forward Merge가 가능한 상태에서 git merge 명령에 --no-ff 옵션을 주면 강제로 Merge Commit을 생성하게 할 수 있다.