팀원들 모두가 dev
브랜치를 clone 한 후, 앞으로 각자 맡은 기능을 개발할 브랜치를 생성한다.
예를 들어 내 브랜치 feature-yhkim
를 생성했다면, 맡은 기능에 대해서 개발을 쭉쭉 진행하면 됨!
이런 식으로 작업을 진행하다보면, 누군가 작업을 먼저 끝마친 사람이 dev
브랜치에 작업물을 merge 할 것인데...
3-1. 작업 중이던 브랜치를 A라고 하면, 원격 저장소의 A 브랜치에 push 하기 전에 커밋을 만든다.
3-2. dev 브랜치로 이동하고, 로컬의 dev 브랜치와 원격의 dev 브랜치의 상태를 맞추기 위해서 git pull origin dev
명령어로 Pull을 진행한다.
3-3. 다시 A 브랜치로 돌아와서, git rebase dev
명령어를 사용하여 dev 브랜치의 최신 커밋을 A 브랜치의 base 커밋으로 설정해준다.
3-4. 해당 작업이 끝났다면, 원격의 A 브랜치로 로컬의 A 브랜치를 push 해준다. git push origin A
모든 팀원이 이런 식으로 작업을 진행하고 서로 맡은 부분에서만 작업을 진행하게 된다면 아마도 github에서 서로 다른 브랜치들을 merge할 때 발생하는 충돌을 최소화할 수 있지 않을까...!