GitHub
[GitHub] 깃허브 협업
simonpark817
2024. 5. 30. 11:26
[깃허브 협업]
- 팀 프로젝트를 진행할 때 다수의 인원이 하나의 깃허브 리포지터리에서 여러개의 브랜치를 사용하여 개발을 하는 경우가 많다.
- 각 브랜치를 사용해서 개발을 했을 때, 결국 main 브랜치의 각자의 작업 분량을 병합(merge 또는 rebase)하는 과정이 필수적으로 포함된다.
- 아래 소개할 깃허브 협업 방법은 글쓴이의 경험을 토대로 작성된 순서일 뿐이지 무조건적인 정답이 아니라는 것은 참고 부탁드립니다.
[개발환경(git bash, Intellij 등)에서 작업할 때]
- git pull origin main (작업 시작할 때 마다 main 브랜치에서 실행)
- git checkout -b '브랜치 명' (브랜치 생성 후 이동)
- 개인 작업 시작
- git add .
- git commit -m "커밋 메시지"
- git pull origin main --rebase (병합하기 전 업데이트된 main을 내 브랜치에 가져오기)
- 충돌난 파일이 있다면 내용 정리 (없다면 패스)
- git push origin '브랜치 명' (개인 브랜치를 push함으로써 Pull Request 생성)
[깃허브(GitHub)에서 작업할 때]
- 각 개인의 브랜치에서 작업을 완료하고 push했을 때, 깃허브 홈페이지에서 Pull Request(PR)을 생성해야 한다.
- 팀 프로젝트를 진행하는 리포지터리 주소로 진입
- 상단 메뉴 중 Pull Request 메뉴 클릭 후 'create pull request' 하기
- 본인이 작업한 브랜치를 선택
- PR을 생성했다면 나머지 팀원들의 승인을 기다리기
- PR 승인을 요청한 팀원을 제외한 나머지 팀원들은 Pull Request 메뉴 클릭 후 작업 완료한 팀원의 Request로 들어가서 Files changed 메뉴를 클릭하여 수정 또는 추가된 코드를 확인
- 확인을 마치고 병합을 승인하겠다 하면 Approve를, 그렇지 않으면 Request changes를 통한 반려
- 일정 인원의 팀원들이 수정된 코드를 승인했다면 'Squsah and merge' 버튼을 통해 main에 병합
- 병합이 완료되면 작업한 브랜치는 깃허브에서 가급적 삭제
- 여기까지 완료되면 다시 개인 작업을 위해 '개발환경에서 작업할 때'로 이동하여 순서대로 진행하면 된다.
[개발환경에서 브랜치 삭제 방법]
- 병합을 마치고 깃허브에서는 브랜치를 삭제하는 것이 좋다.
- 그렇지만 깃허브에서만 각자 작업했던 브랜치가 사라지는 것이지 다시 개발환경으로 돌아가면 개인이 작업한 브랜치는 남아있다.
- 개발환경에서도 완전히 브랜치를 삭제하고 싶다면 아래의 명령어를 순서대로 입력하면 된다.
- git checkout main (메인 브랜치로 이동)
- git branch --all (모든 브랜치 확인)
- git branch -D '브랜치 명' (개인이 작업한 브랜치 삭제)
- git fetch --prune (삭제한 브랜치 로그 정리)
반응형