개인 repository에서 협업 코드를 관리하기에는 너무 비효율적이다.
공동계정(organiztion)에 작업 공간(repository)을 만들어 관리하면 위의 문제점을 해결할 수 있다.
Organiztion 작업 방식
2명의 인물이 Organiztion에서 작업한다고 가정하에 설명하겠다.
'A' 최초 작업
git init
git add "[feat] feat"
git commit -m "[feat] feat" // 커밋 양식에 맞춰서 작성한다.
git remote add origin 깃허브 주소
git push origin master
'B' 프로젝트 접근
git clone 깃허브 주소
'B'는 branch를 사용해 독립적으로 작업한다.
git branch 브랜치
branch 작업 -> main branch merge -> push 순서를 지킨다.
git checkout 브랜치
git add "[feat] feat"
git commit -m "[refactor] feat"
git checkout master
git merge 브런치
git push origin master
'A', 'B' 동일한 소스로 작업 진행 중,
'A'가 push를 하면 'B'는 업데이트된 소스를 받아 작업해야 한다.
즉, 업데이트된 소스를 받아 merge 후 push 한다.
git checkout main
git pull
git checkout 브랜치
git merge main
위의 과정을 잘 진행해도 merge 시 코드 충돌이 발생할 수 있다.
ex) 현재 브랜치와 merge 하는 브랜치에서 같은 파일의 같은 위치를 수정했을 경우
충돌 난 부분을 직접 수정해야 한다.
이럴 경우, Git 공식 문서
해결 안 되면 Issues에 올린다.