“Connecting the dots”

Git-Hub-TeamProject 본문

TEAMPROJECT/GitHUB

Git-Hub-TeamProject

kims1997 2023. 10. 10. 20:38
반응형

사이드 프로젝트 하면서 팀원들과 깃허브를 이용해서 프로젝트를 진행 

 

GitHub Flow


저장소 생성 및 초대:

GitHub에서 새로운 저장소를 생성하고 팀원을 초대. 저장소에는 프로젝트 코드 저장
브랜치 생성 및 개발:

각 팀원은 개발을 위한 별도의 브랜치를 생성하고 작업을 시작. 이렇게 하면 각자의 작업이 다른 팀원의 작업과 분리.
주기적인 업데이트와 커밋:

팀원은 주기적으로 작업 내용을 커밋하고 푸시하여 변경 사항을 원격 저장소에 반영. 이를 통해 프로젝트의 진행 상황을 계속 추적.
Pull Request (PR) 생성:

작업이 완료되면 팀원은 원본 저장소의 개발 브랜치로부터 PR을 생성하여 변경 사항을 검토 및 병합을 요청. 이 PR에는 작업 내용과 변경 이유가 설명
코드 검토 및 병합:

다른 팀원 또는 프로젝트 관리자가 PR을 검토하고 필요한 경우 의견을 제공. 그리고 코드가 승인되면 PR이 병합.
지속적인 업데이트와 피드백:

프로젝트가 진행됨에 따라 팀원은 지속적으로 업데이트하고 다른 팀원과 의견을 나누며 프로젝트를 개선
문제 및 논의 관리:

프로젝트 문서화:

README 파일로 프로젝트를 문서화하고, 프로젝트의 목표, 사용법 및 기여 방법을 설명


  • 저장소 Fork:
    • Git 관리자는 GitHub 저장소 페이지 상단 오른쪽의 "Fork" 버튼을 클릭하여 저장소를 Fork합니다. 이렇게 하면 그들의 GitHub 계정 아래에 저장소의 복사본이 생성됩니다.
  • Forked 저장소 클론:
    • Fork한 후, Git 관리자는 "Git clone" 명령을 사용하여 Fork한 저장소를 로컬로 복제합니다.
  • Upstream 원격 추가:
    • 원본 프로젝트 저장소 (Fork한 저장소의 원본)에 연결하려면 다음 명령을 사용합니다:
    • git remote add upstream [원본 저장소 URL]

협업 브랜치 관리:

  • 개발 브랜치 생성:
    • 개발 브랜치 (예: 'dev')를 만들려면 다음 명령을 사용합니다:
    • egit checkout -b dev
  • 기능 브랜치 생성:
    • 코드 개발을 위한 기능 브랜치를 만들려면 비슷한 명령을 사용합니다:
    • git checkout -b feature-branch-name
  • 코드 개발 브랜치에서 작업:
    • 기능 브랜치에서 코드 변경 사항을 만듭니다.
  • 변경 사항 추가 및 커밋:
    • 변경 사항을 만든 후, 변경 사항을 스테이징 영역에 추가하고 커밋합니다:
    • git add . git commit -m "작업 내용"
  • GitHub에 변경 사항 푸시:
    • 변경 사항을 원격 저장소 (origin)에 푸시하려면 다음을 사용합니다:
    • git push origin feature-branch-name
  • Pull Request (PR) 생성:
    • GitHub 저장소로 이동하여 기능 브랜치에서 원본 저장소의 개발 브랜치 (예: 'dev')로 Pull Request (PR)를 생성합니다. 이렇게 하면 코드를 Git 관리자에게 제출합니다.
  • 관리자가 PR 병합:
    • Git 관리자는 원본 저장소에서 제출된 팀 멤버의 PR을 검토하고 병합합니다.
  • 로컬 저장소 업데이트:
    • PR이 병합되면 로컬 저장소를 'dev' 브랜치의 변경 사항을 반영하도록 업데이트해야 합니다: git checkout dev
    • git pull upstream dev
  • 팀 멤버가 'dev'에서 업데이트:
    • 기능을 개발하는 팀 멤버는 정기적으로 원본 저장소에서 'dev' 브랜치를 업데이트하여 동기화를 유지해야 합니다
    • git checkout dev git pull upstream dev
  • 새로운 기능 브랜치 생성 및 개발:
    • 필요한 경우 계속해서 새로운 기능 브랜치를 만들고 개발합니다. 'dev' 브랜치가 최신 상태에서 시작
반응형