
팀 프로젝트(3~5인)에서 Fork 과정 없이 하나의 원본 저장소에서 직접 브랜치를 나누어 작업하는 효율적인 협업 모델입니다.
방장(소유자)은 팀원들에게 저장소 수정 권한을 부여해야 합니다.
Settings > Collaborators > Add people에서 팀원 계정 추가.Settings > Branches > Add branch protection rulemain 입력Require a pull request before merging (직접 푸시 방지)Require approvals (1명 이상의 승인 필요)Require review from Code Owners (방장 승인 필수 시)이 파일이 있어야 특정 인원의 승인을 강제할 수 있습니다.
CODEOWNERS 파일을 만듭니다.Bash
# 모든 파일(*)에 대해 방장의 승인을 필수로 지정함
* @방장의_GitHub_ID
main 브랜치에 push 합니다.팀원 모두가 방장의 원본 저장소 주소를 클론받습니다.
Bash
git clone https://github.com/방장계정/프로젝트명.git
main에서 직접 작업하지 않고, 항상 새로운 가지(Branch)를 쳐서 나갑니다.
Bash
git checkout -b feature/login # 'login' 기능을 위한 새 브랜치 생성 및 이동
코드 수정 후 내 브랜치를 서버에 올립니다.
Bash
git add . git commit -m "로그인 기능 구현" git push origin feature/login
GitHub 웹사이트에서 feature/login → main으로 합쳐달라는 요청(PR)을 보냅니다. 이때 팀원이나 방장에게 리뷰를 요청합니다.
방장 혹은 리뷰어는 코드를 검토한 후 [Review changes] 버튼을 눌러 Approve를 제출합니다. (단순 댓글이 아닌 공식 승인 버튼 클릭 필수!)
승인이 완료되면 Merge 버튼을 눌러 main에 합칩니다. 합쳐진 후에는 서버와 로컬에서 사용한 브랜치를 삭제하여 정리합니다.
Bash
`# 원격 브랜치 삭제 (GitHub 웹에서 버튼 클릭 또는 명령어)
git push origin --delete feature/login
git checkout main
git pull origin main # 최신화된 main 받아오기
git branch -d feature/login
git remote prune origin # 유령 브랜치 정리`
main은 언제나 Ready: main 브랜치는 항상 실행 가능한 상태(Stable)를 유지해야 합니다.git pull origin main을 받아 최신 상태를 유지하세요.feature/기능명, bugfix/이슈명 처럼 용도를 명확히 적으면 소스트리에서 폴더처럼 묶여 관리하기 편합니다.pull을 받아 인텔리제이의 Merge 도구를 활용해 코드를 합친 후 다시 push 하세요.