컴퓨터 공부/䷇ Git

[Github/깃허브] Git 협업 플로우를 살펴보자!

letzgorats 2023. 7. 1. 07:27

 

깃헙에서 협업을 할 때의 과정을 간략하게 그림으로 표현해봤다.

순서에 따라서 한번 깃 협업 과정을 살펴보자!


 

1. 깃허브 원격 저장소에서 내용을 로컬 저장소로 가져온다

로컬 저장소가 없을 때(최초에는) : git clone ~
로컬 저장소가 이미 있을 때 : git pull origin main

⬇️

2. 로컬 저장소에서 작업할 브랜치를 생성 후 해당 브랜치로 이동한다

git branch 브랜치이름
git checkout 브랜치이름 or 커밋

( VScode의 Extension중에서 해당 Extension을 다운받으면 브랜치가 이슈별로 자동 생성된다)

⬇️

3. 브랜치 안에서 원하는 작업을 수행한다

⬇️

 

4. 브랜치에서 수행한 작업을 git에 올린다

(작업 중인 브랜치 안에서 명령어 실행)
git add .
git commit -m "커밋메시지"

* 원격 저장소에 해당 브랜치가 이미 존재하면: git push
  (다른 사람들이 판 브랜치를 수정할 때에 해당)

* 원격 저장소에 해당 브랜치가 없을 때 : git push origin 브랜치이름
   (새로운 브랜치를 생성할 때) --> 이 부분은 위에서 설명한 Extension을 사용하면, 브랜치 이름을 입력하라 하고 작업 후 그냥 push 하면 브랜치가 자동 생성된다! )

원격 저장소에 브랜치가 있으면 해당 브랜치 안에서 git push를 하면 바로 원격 저장소의 브랜치에 내용을 push 할 수 있다.

원격 저장소에 브랜치가 없다면 git push만 했을 때, upstream이 없다는 오류가 나게 된다.

 

원격 저장소에 브랜치 생성 후 브랜치 내용 push를 해줘야 한다.

⬇️

 

5. 로컬 main 브랜치로 이동 후 원격 저장소의 main 변경사항을 pull 해준다

(작업 중인 브랜치 안에서 명령어 실행)
git checkout main
(main 브랜치 안에서 명령어 실행)
git pull origin main

브랜치를 생성해서 작업을 하는 동안 다른 협업자가 원격 저장소의 main 에 push를 진행해놓았을 수도 있다.

그러므로 로컬의 main 브랜치로 이동 후 main 의 내용을 제일 최신으로 업데이트해준다.

⬇️

6. 다시 작업한 브랜치로 이동 후 로컬의 main 내용을 해당 브랜치에 merge!

(작업 중인 브랜치 안에서 명령어 실행)
git merge main
git push

merge 과정에서 conflict가 난다면 해결 후 push!

해당 과정을 통해 main과 merge된 브랜치 내용이 원격 저장소 작업 브랜치에 업데이트되었다.

⬇️

7. github 홈페이지의 repository로 이동 후 pull request 요청을 하면 완료

⬇️

8. 책임자 및 팀원들이 확인 후 pull request를 수락하면 원격 저장소 main에 브랜치의 내용이 업데이트된다!

반응형