이전 두 개의 글을 통해서 Organization을 만들고 repository를 만들고 clone하는 내용을 소개해 드렸습니다.
이번 글에서는 팀장 및 팀원이 각자의 코드를 작성하고 github에 공유하는 방법에 대한 내용을 소개하려고 합니다.
꼭 기억할 부분은 팀장이든 팀원이든 절대 main(또는 master) branch에서 작업을 하지 않아야 한다는 겁니다. 반드시 기능 개발할 때 branch를 새로 만들고 push를 하고 팀장은 해당 branch를 main으로 합치고 다시 pull을 받아 진행하는 방법이 가장 무난하다고 볼 수 있습니다. 주요 단계를 요약하자면 다음과 같습니다.
1. 팀원들은 각자의 로컬에서 branch를 만들어서 작업
2. 기능개발이 완료되면 해당 branch를 push
3. github에서 pull request 작성하고 팀장에게 알림
4. 팀장은 해당 commit의 충돌 문제는 없는지 확인한 뒤 pull request 수행하여 main branch에 코드 병합
5. push를 완료한 팀원만 pull 수행하여 main branch 최신화
(push를 하지 않은 팀원은 main branch가 최신화 됐다고 하여 pull 할 필요가 없습니다. 여기서 pull 하면 열심히 작성한 코드 good bye..)
6. pull이 문제없이 진행된 팀원은 새로운 branch 만들어서 개발 진행
1~5번 작업이 계속 반복 됩니다.
팀원이 본인의 로컬에서 회원 기능을 개발한다고 하겠습니다.
코드 개발 전 branch를 추가합니다.
branch는 하단의 Git 탭에서 main 에서 우클릭 후 New Branch from 'main'을 클릭합니다.
branch이름을 자유롭게 작성합니다. Checkout branch를 체크해 놓으면 자동으로 branch를 생성하면서 전환됩니다.
branch 생성 후 화면입니다.
개발을 시작합니다.
간단하게 MemberController만 추가합니다.
기능 개발이 끝났다 가정하고 commit, push를 수행합니다. IntelliJ의 git 기능을 활용합니다. (Commit시 상단에 Commit to 'branch 이름' 을 확인하시기 바랍니다. main으로 되어있다면 branch를 만들어야 합니다.)
push 완료 후 github에 접속하여 Pull Request를 작성합니다. Pull requests 탭을 클릭하고 New pull request 버튼을 클릭합니다.
그러면 방금 전 push한 branch가 목록에 보이게 됩니다. 해당 branch를 클릭합니다.
다음 화면에서 Create pull request를 클릭해줍니다.
특이사항이 있다면 내용을 작성하고 Create pull request를 클릭합니다.
pull request 완료 화면입니다.
지금부터는 팀장역할을 하는 사람이 해야하는 내용입니다.
Pull requests 탭을 클릭해보면 조금 전 팀원이 작성한 PR(pull request) 이 보입니다. 해당 PR을 클릭합니다.
Merge pull request를 클릭하면 코드를 병합할 수 있습니다. 버튼을 클릭합니다.
아래와 같은 화면이 나오며, Confirm merge 를 클릭합니다.
문제가 없다면 아래와 같이 성공했다는 내용이 보이며, Delete branch를 클릭하여 해당 branch를 삭제해 줍니다.
첫 화면으로 돌아와보면 해당 commit이 함께 보이는 것을 확인할 수 있습니다.
push를 조금 전 했던 팀원은 병합된 main branch 내용을 본인의 로컬에 적용하도록 합니다.
main branch에서 우클릭 후 checkout을 합니다.
checkout 후 다시 main에서 우클릭하여 update를 클릭하여 pull을 해줍니다.
pull 이 잘 수행된 것을 확인할 수가 있습니다.
다음 글에서는 두 사람이 작업했을 때의 상황에 대해 소개해드리도록 하겠습니다.
'Git' 카테고리의 다른 글
Git 협업할 때 계속 로그인을 요구하는 경우 (0) | 2023.10.20 |
---|---|
Github Organization 으로 팀프로젝트 진행하기 5 - 두 명이 동시에 같은 파일 작업하여 충돌하는 경우 (0) | 2023.10.16 |
Github Organization 으로 팀프로젝트 진행하기 4 - 두 명 동시 작업 (0) | 2023.10.16 |
Github Organization 으로 팀프로젝트 진행하기 2 - repository 생성하고 clone하기 (0) | 2023.10.13 |
Github Organization 으로 팀프로젝트 진행하기 1 - Organization 만들기 (0) | 2023.10.13 |