Project

[GitHub] 브랜치 협업 방법

싱숭셩숭 2024. 9. 10. 10:53

1. Git 초기 세팅

  • 메인 브랜치(main) : 모든 팀원이 공유하는 기본 브랜치
  • 프로젝트를 GitHub 등 원격 저장소에 업로드해 두고, 팀원 모두가 접근할 수 있게 초대한다

2. 브랜치 전략 설정

  • 각 팀원은 자신의 작업 내용을 독립적으로 관리하기 위해 개인 브랜치를 만든다
    • 브랜치 이름은 작업 내용이나 팀원 이름을 포함하도록 명확히
    • 예 : syeong/myCertificate
  • 각 브랜치는 main 브랜치에서 파생된다

3. 작업 시작

  1. main 브랜치에서 브랜치 생성
    • 새로운 브랜치를 만들고 전환 :
      • git checkout main      # main 브랜치로 이동
        git pull origin main     # 최신 상태로 업데이트
        git checkout -b feature/login   # 새 브랜치 생성 및 이동
    • git branch : 현재 브랜치 확인
  2. 작업 내용 추가
    • 작업한 파일을 커밋 :
      • git add .               # 변경된 파일 추가
        git commit -m "Add login feature"   # 작업 내용 커밋
  3. 원격 저장소에 브랜치 업로드
    • 작업한 브랜치를 원격 저장소에 올리기
      • git push origin syeong/myCertificate

4. 팀원 작업 병합(Merge)

  1. 원격 저장소(GitHub 등)에 접속 :
    • 예를 들어 GitHub에서 프로젝트 페이지로 간다
    • 브랜치 목록에서 작업한 브랜치(syeong/myCertificate)를 선택한다
    • 화면에 보이는 Pull Request(PR) 버튼을 클릭한다
  2. PR 제목과 설명 작성
    • 제목은 작업 내용을 요약
    • 설명에는 작업한 내용을 자세히 기재 :
      • 작업한 내용
      • 변경된 파일
      • 테스트 여부
  3. Pull Request(PR) 생성
  4. 팀원들과 코드 리뷰 진행
  5. Merge 진행
    • 팀원이 PR을 승인한 후, main 브랜치에 병합(Merge)을 진행
      1. GitHub의 경우 Merge Pull Request 버튼 클릭
      2. confirm merge 버튼 클릭
      3. 병합 후, Delete branch 옵션을 선택해, 작업 브랜치를 삭제

5. 병합 후 브랜치 삭제

  • 병합이 완료된 브랜치는 정리한다
    • git branch -d feature/login        # 로컬에서 브랜치 삭제
      git push origin --delete feature/login  # 원격에서 브랜치 삭제

6. main 브랜치 최신 상태로 유지

  • 병합된 작업 내용을 팀원들이 업데이트
    • git checkout main      # main 브랜치로 이동
      git pull origin main    # 최신 상태로 업데이트

7. 반복

  • 참고 : 충돌(Conflict) 해결
    • 충돌이 발생하면 Git이 알려준다
    • 충돌 난 파일을 열어 수정한 후 커밋 :
      • git add .
        git commit -m "Resolve merge conflict"