[Git] Fork & Pull model

cheon2308
|2022. 10. 28. 15:51
728x90

 

개요

 

  • 오픈소스 프로젝트와 같이, 자신의 소유가 아닌 원격 저장소인 경우
  • 원본 원격 저장소를 그대로 내 원격 저장소에 복제 (이러한 행위를 Fork라고 함)
  • 기능 완성 후 복제한 내 원격 저장소에 Push
  • 이후 Pull Request를 통해 원본 원격 저장소에 반영될 수 있도록 요청함

 

따라하기

 

  • 소유권이 없는 원격 저장소를 fork를 통해 내 원격 저장소로 복제

  • fork 이후, 복제된 내 원격 저장소를 로컬 저장소에 clone

 

 

  • 이후에 로컬 저장소와 원본 원격 저장소를 동기화 하기 위해 연결

 

  • 사용자는 자신이 작업할 기능에 대한 브랜치를 생성하고, 그 안에서 기능을 구현

 

  • 기능 구현이 완료되면, 복제 원격 저장소(origin)에 해당 브랜치를 Push

 

 

  • 복제 원격 저장소(origin)에 브랜치가 반영됨

 

  • Pull Request를 통해 origin의 브랜치를 upstream에 반영해달라는 요청을 보냄

 

  • upstream에 브랜치가 병합되면 origin의 브랜치는 삭제

 

  • 이후 사용자는 로컬에서 master 브랜치로 switch

 

  • 병합으로 인해 변경된 upstream의 master 내용을 로컬에 Pull

 

  • upstream의 master 내용을 받았으므로, 기존 로컬 브랜치 삭제 (한 사이클 종료)

 

  • 새로운 기능 추가를 위해 새로운 브랜치를 생성하며 위 과정을 반복

 

728x90

'Tool > Git' 카테고리의 다른 글

[Git] Git 활용하기  (0) 2023.01.12
[Git] workflow  (0) 2022.10.28
[Git] branch & merge  (0) 2022.10.28
[Git] reset & revert  (0) 2022.10.28
[Git] Undoing(되돌리기)  (0) 2022.10.28