부트캠프에서 최종 프로젝트를 진행하면서 팀원들과 협업을 위해 GitHub에서 merge 하는 방법을 공부하였다.
우선 먼저 서로 다른 branch에서 작업한 결과를 올린 후, main 브랜치로 통합해야 한다.
특히 가장 중요한 원칙은 반드시 main 브랜치에서 직접 작업하지 않는 것!
모든 작업은 별도의 브랜치를 만들어 진행하고, 검토 후 최종적인 경우에만 main에 병합한다.
이번 글은 SourceTree를 기준으로 브랜치 생성부터 merge까지 과정을 정리해 본다.
📌브랜치 생성하기
1. 작업을 시작하기 전, main에서 커밋하지 않고 새로운 브랜치를 만든다.


2. 생성된 브랜치로 체크아웃을 해준다. (더블클릭을 하거나 마우스 오른쪽 버튼을 클릭하여 체크아웃)
그럼 생성한 브랜치로 전환된다.

3. 이제 해당 브랜치에서 작업을 진행하고 커밋한 뒤, 푸시를 한다.
이때 반드시 main이 아닌 새로 생성한 브랜치를 선택하고 push 해주어야 한다.
📌PR(Pull Request) 올리기
브랜치를 push를 한 후 깃허브에 들어오면 Compare & pull request 버튼이 나타난다.

Pull Request(PR)를 생성할 때 주의할 점:
- base : 병합될 브랜치 (예: develop)
- compare : 수정 내용을 담은 브랜치 (내가 작업한 브랜치)
여기서 실수로 base에 main을 선택하지 않도록 주의한다!

설명이 필요하거나 특이사항이 있으면 내용을 작성한 후 Create pull request를 클릭한다.

📌코드 리뷰 & Merge
PR이 생성되면 다른 팀원들이 pull request 탭에서 확인할 수 있다.
- Files changed에서 수정 내역을 확인 가능
- 문제가 없다면 Conversation 탭에서 Merge pull request 진행


Merge 할 때는 커밋 메시지와 설명을 작성하고, Confirm merge를 클릭하면 병합이 완료된다.

✔️보통 main은 최종적으로만 사용하지 때문에, 중간 과정에서는 develop 브랜치에 병합해서 결과를 확인한다.
✔️GitHub 설정에서 승인(review) 없이는 merge 불가 옵션도 추가할 수 있어서, 실수로 잘못 병합되는 것을 막을 수 있다.


📌정리
이번에 GitHub 협업 기능을 처음 제대로 사용해 보면서, merge 과정이 낯설고 어렵게 느껴졌다.
하지만 스터디를 통해 연습해 보니, 단순히 push만 하는 게 아니라 협업 과정에서 필요한
- 브랜치 전략
- Pull Request 작성
- 코드 리뷰 & 승인 절차
등을 이해할 수 있었다.
아직 GitHub에서 배워야 할 기능이 많지만, 미리 사용해 본 경험이 앞으로 프로젝트 진행하면서 큰 도움이 될 것 같다.