DevOps/Git

[Git] Fork - facebook/react에 contributor 되보기

문스코딩 2022. 6. 15. 10:52

나도 오픈소스의 contributor가 될 수 있다? 혹시 Fork에 대해서 알고 계신가요.

 

오늘은 Fork의 개념에 대해 소개해드릴까 합니다. Fork란 타인의 repository(이하 repo)를 개인 저장소로 복사하여 가져오는 행위를 말합니다. 그럼 git clone을 통해 repo를 내려받는 것과 내려받은 소스를 자신의 repo에 직접 올리는 것과는 무엇이 다를까요? 

 

먼저 git clone을 통해 내려받은 Copy Repo의 원격 저장소는 아직 Origin Repo입니다. (.git 파일에 정의되어있습니다) 그래서 코드를 수정하고 push를 하면 Origin Repo 저장소로 push 요청을 하게되고 권한이 없게되면 push 행위를 실패하게 될 것 입니다.

 

그럼 gitconfig의 remote 주소를 자신의 repo로 수정하여 올리면 fork와 같은거 아닌가요? 자신의 repo에 오픈소스가 저장되는 건 같지만 fork로 내려받은 저장소는 Origin Repo와 연결되어있어 수정사항을 Origin Repo에 Pull Request 할 수 있다는게 차이점입니다. 그럼 fork로 repo를 만드는 방법을 살펴볼까요?

 

Fork 버튼은 Github 페이지 우상단에 Star 버튼과 함께 위치하고 있습니다.

 

Fork 버튼을 클릭하여 원하는 Repo 이름을 설정한 후 Create fork를 클릭하게 되면 자신의 개인 Repo에 오픈소스 저장소가 복사된 것을 알 수 있습니다.

 

 

자신의 변경사항은 Pull Request(이하 PR)를 사용하여 Origin Repo에 반영할 수 있습니다. 저는 facebook-react 프로젝트를 fork 받아 임의로 fork.txt 파일을 추가하고 변경사항을PR로 만들어봤습니다. 아래 사진을 보시면 PR에 base repository가 facebook/react 인것을 확인할 수 있습니다. 

 

 

facebook이 원하는 방식을 요약해두었네요. 실제 PR을 요청한다면 가이드에 따라 작성하면 될 것 같습니다.  변경사항이 유의미하다면 facebook/react에 실제 변경사항을 반영해보는 경험도 할 수 있겠네요! 

 

그럼 이상 fork에 대한 설명을 마치도록 하겠습니다. 

즐개발 하세요 :)

반응형