본문 바로가기
Tools/GitHub

[GitHub] - GitHub를 활용한 협업 가이드 (Fork, Pull, Pull Request, Conflict, Merge)

by ro-jun 2025. 1. 5.
반응형
GitHub를 활용한 협업 프로세스

 

1. Main Repositories 생성하기

  • 팀장(관리자)이 프로젝트 중심이 될 메인 저장소(Main Repositories)를 생성합니다.
  • 협업 참여자는 이 저장소를 기반으로 작업하게 된다.

2. 팀원이 Fork하여 개인 Repositories 생성 후 로컬에 적용

  • 팀원은 메인 저장소를 Fork하여 자신의 GitHub 계정으로 복사한다.
  • 이후, Fork한 저장소를 로컬 환경으로 Clone하여 작업을 시작한다.
git clone <Fork된 저장소 URL>
cd <저장소 이름>

 

3. 각각 로컬에서 수정 및 개인 Repositories에 Push

  • 코드 작성이나 수정 작업을 로컬에서 완료한 뒤 변경 내용을 커밋하고 개인 저장소에 Push한다.
git add.
git commit -m "커밋 메시지"
git push origin <브런치 이름>

 

4. Pull Request 생성

  • fork후 작업했던 개인 저장소의 변경 사항을 메인 저장소로 반영하고 싶다면 GitHub에서 Pull Request를 보낸다.
  • Pull Request는 팀장(관리자)이 변경 내용을 확인하고 Merge 여부를 결정한다
  • 중간 Reviewer가 존재시 확인 절차 진행

5. Conflict 발생시 해결

  • Pull Request에서 Conflict(충돌)가 발생하면 메인 저장소의 최신 상태를 로컬로 가져와 충돌을 해결한다.
# upstream 이름으로 원본 저장소를 remote 해두었을때 최신 가져오기
git pull upstream main

git add .
git commit -m "충돌 해결"
git push origin <브런치 이름>

 

6. Merge로 변경 사항 반영

  • 팀장이 Pull Request를 승인하면 변경 내용이 메인 저장소에 Merge

TIP

1. Upstream 설정 (원본 저장소 remote 하기)

  • Fork한 저장소와 원본 저장소를 연결하여 최신 상태 유지 편의성
git remote add upstream <원본저장소 url>

 

2. 최신 상태 유지

  • 작업 전에 항상 메인 저장소의 변경 내용을 로컬로 가져오기.
git pull upstream main
반응형