깃허브 협업 가이드

김우진·2026년 3월 2일

Git & GitHub

목록 보기
3/3
post-thumbnail

🤝 깃허브 협업 가이드: Shared Repository 방식

팀 프로젝트(3~5인)에서 Fork 과정 없이 하나의 원본 저장소에서 직접 브랜치를 나누어 작업하는 효율적인 협업 모델입니다.

1. 초기 설정 (방장 권한)

방장(소유자)은 팀원들에게 저장소 수정 권한을 부여해야 합니다.

  1. Collaborator 초대: Settings > Collaborators > Add people에서 팀원 계정 추가.
  2. 브랜치 보호 규칙 설정: Settings > Branches > Add branch protection rule
    • Branch name pattern: main 입력
    • Check: Require a pull request before merging (직접 푸시 방지)
    • Check: Require approvals (1명 이상의 승인 필요)
    • Check: Require review from Code Owners (방장 승인 필수 시)

코드 오너 설정 (CODEOWNERS 파일 생성)

이 파일이 있어야 특정 인원의 승인을 강제할 수 있습니다.

  1. 프로젝트 최상위 폴더(root)에 확장자 없이 CODEOWNERS 파일을 만듭니다.
  2. 파일 내용에 아래와 같이 입력합니다.

Bash
# 모든 파일(*)에 대해 방장의 승인을 필수로 지정함
* @방장의_GitHub_ID

  1. 이 파일을 main 브랜치에 push 합니다.

2. 표준 협업 워크플로우 (팀원 공통)

STEP 1. 로컬 저장소 연결 (Clone)

팀원 모두가 방장의 원본 저장소 주소를 클론받습니다.

Bash

git clone https://github.com/방장계정/프로젝트명.git

STEP 2. 새로운 기능 브랜치 생성 (Branch)

main에서 직접 작업하지 않고, 항상 새로운 가지(Branch)를 쳐서 나갑니다.

Bash

git checkout -b feature/login # 'login' 기능을 위한 새 브랜치 생성 및 이동

STEP 3. 작업 및 원격 푸시 (Push)

코드 수정 후 내 브랜치를 서버에 올립니다.

Bash

git add . git commit -m "로그인 기능 구현" git push origin feature/login

STEP 4. 풀 리퀘스트 생성 (Pull Request)

GitHub 웹사이트에서 feature/loginmain으로 합쳐달라는 요청(PR)을 보냅니다. 이때 팀원이나 방장에게 리뷰를 요청합니다.

STEP 5. 코드 리뷰 및 승인 (Approve)

방장 혹은 리뷰어는 코드를 검토한 후 [Review changes] 버튼을 눌러 Approve를 제출합니다. (단순 댓글이 아닌 공식 승인 버튼 클릭 필수!)

STEP 6. 병합 및 브랜치 삭제 (Merge & Delete)

승인이 완료되면 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 # 유령 브랜치 정리`


3. 실무 필수 팁 (Best Practices)

  • main은 언제나 Ready: main 브랜치는 항상 실행 가능한 상태(Stable)를 유지해야 합니다.
  • Pull Before Start: 새로운 작업을 시작하기 전에는 항상 git pull origin main을 받아 최신 상태를 유지하세요.
  • 브랜치 네이밍: feature/기능명, bugfix/이슈명 처럼 용도를 명확히 적으면 소스트리에서 폴더처럼 묶여 관리하기 편합니다.
  • Conflict(충돌) 발생 시: 당황하지 말고 pull을 받아 인텔리제이의 Merge 도구를 활용해 코드를 합친 후 다시 push 하세요.

0개의 댓글