SCM/Git

[Git & GitHub 11] Workflow 필요성 - 단일(main, master)브랜치만 사용 시

ride-dev 2024. 5. 18. 18:04

협업 워크플로우는 여러 가지가 존재합니다.

GitHub를 처음 협업했을때, 단일 브랜치(main)만으로 진행한다고 가정해보겠습니다.

코드를 수정(commit)할 때마다pull-push-충돌-해결 과정을 거칩니다.

push 전까지 타인의 코드를 확인할 수 없습니다. 

단일 브랜치로 협업하기엔 많은 자원이 소모됩니다.

1.프로젝트 구성원들이 각자의 local에서 작업합니다.

2. KIM이 git push 로 변경사항을 main branch에 적용합니다.

3. LEE가 변경사항을 적용하기 위해 git push합니다.
local에서 추적한 포인터와 remote의 포인터가 달라서 오류가 발생합니다.
(pull이나 fetch로 동기화를 해야합니다)

4. LEE가 git pull로 원격지의 변경사항을 받고 업데이트 합니다.
충돌을 해결합니다.

5. Lee가 원격지에 push합니다.

변경 사항을 적용하려면 원격지로부터 코드를 업데이트하고 충돌을 해결해야 합니다.

본인만 push하는 것이 아니라면 git pull을 필수적으로 사용해야 합니다.

 

구성원들이 미완성된 코드에 대해 GitHub로 피드백을 받기 어려워집니다.

git push를 하면 main 브랜치가 불완전해지기 때문입니다.

728x90