Issue의 경우 작업 시작 전 본인이 진행코자 하는 과제의 상세 내용을 작성함.
작성된 내용에 대해 팀원들과 공유하고, 만약 공유된 내용에 대한 피드백이 있을 경우 수정하여 작업을 진행할 수 있음.
정리된 이유 사항의 진행이 문제 없이 컨펌이 나면 해당 작업에 대한 branch를 생성함.
git checkout -b new_branch_name
여기서 new_branch_name은 다양하게 적용할 수 있겠지만, 사전에 공유된 issus #1 number를 활용하면 좋다. issue를 생성하면 고유 number(#1, #2,,,,)가 생성됨.
예를 들어 issue4_Refac_RxSwift로 작성할 수 있다. Issue number + 하고자 하는 기능의 분류(기능 추가 feat, 버그 수정 bug, 리팩토링 refac 등)+작업 명(RxSwift 적용)
branch 생성한 상태에서 작업을 진행한다.
작업이 완료된 후 동일하게 add, commit, push를 진행한다.
// 0. GitHub에서 작업할 내용의 Issue생성
// 1. 브랜치 생성(Issue 번호 참조)
git checkout -b issue4_Refac_RxSwift
// 2. 신나게 리팩토링 작업
// 3-1. 작업 완료 후 add .
git add .
// 4-1. commit 진행
git commit -m "[Refac] RxSwift APIManager 수정"
// 3-2. 작업 완료 후 add .
git add .
// 4-2. commit 진행
git commit -m "[Refac] RxSwift ViewModel 수정"
// 3-3. 작업 완료 후 add .
git add .
// 4-3. commit 진행
git commit -m "[Refac] RxSwift MainViewController 수정"
// 5. push
git push origin issue4_Refac_RxSwift
Push는 원격 리포지토리(브랜치: issue4_Refac_RxSwift)에 되어 있을 것임.
GitHub의 리포지토리 Pull Request탭을 클릭하면 Create Pull Request 버튼이 생성됨
Create Pull Request는 원격 리포지토리의 브랜치에 대한 변경 사항을 제안하고, 다른 개발자과 내용을 공유함할 수 있도록 한다.
해당 버튼을 누르면 PR에 대한 Comment를 통해 팀원들의 생각을 공유할 수 있음. 만약, 코드가 main branch merge하기 불충분하면 comment를 통해 의사 전달 하고, 확인된 의사를 바탕으로 코드를 수정하고, 다시 push를 진행한다.
코드가 문제없다고 판단되면, 해당 코드는 main branch에 merge가 됨.
merge 이후 작업자는 원격 리포지토리 - main branch의 내용을 다시 로컬 main branch로 업데이트를 진행해야 함.
// 0. merge가 되었음. 야호
// 1. main branch로 checkout
git checkout main
// 2. 원격 main branch 로부터 변경사항을 업데이트 함.
git pull