GIT/기본

fork와 clone

ucong 2021. 7. 28. 14:33

fork ( 다른사람의 원격 저장소를 내 원격 저장소로 가져오는 것 )

- 다른 사람의 github repository에서 내가 어떤 부분을 수정하거나 추가 기능을 넣고 싶을 때 해당 repository를 내 github repository로 그대로 복제하는 기능

- fork한 저장소는 원본 저장소(original repository)와 연결

- 수정하거나 추가한 기능을 넣고 싶으면 PR(Rull Request)를 origin에게 보내고, origin의 관리자가 그것이 맘에 든다면 해당 PR을 받아들여 그 변경사항들이 commit, merge 됨

 

clone ( 다른사람의 원격 저장소를 내 지역 저장소로 가져오는 것 )

- 특정 repository를 내 local machine에 복사하여 새로운 저장소를 만듬

- clone한 원본 repository를 remote 저장소 origin으로 가지고 있다. ( 권한이 없는 경우 해당 저장소로 push 불가능 )

- original repository와 연결되지 원본 저장소의 commit 등의 로그를 보지 못한다.

 

- 만약 여러명이 각자 자신의 컴퓨터에 해당 저장소를 clone하여 작업했을때, A가 push를 했다고 가정하에 B는 fetch 후 merge를 해야 push 가능하다.

 

***** 제일 큰 차이점 *****

- fork를 한 경우, 원본프로젝트가 변경되면 나의 저장소도 그 변경이 반영

- clone은 미반영