[Tip] github 사용법 - Fork&PR
in Tip on Github, Git
지난 포스팅
4. git 사용법 - 코드 관리(SCM) & 버전 관리(VCS)
지난 포스팅에서는 github
의 협업 시나리오 중 하나인 Branch & PR 모델에 대해 알아봤습니다. 이번 포스팅에서는 오픈 소스 프로젝트에서의 협업 모델인 Fork & PR 모델에 대해 알아보겠습니다.
지난 포스팅 말미에 짧게 언급했듯 Branch & PR 모델은 업계에서 표준 협업 방식으로 채택하고 있는 아주 효율적인 협업 모델입니다. 하지만 오픈 소스의 위력이 대두되는 현 시점에서 일부 Collaborator 이외에는 프로젝트에 기여할 수 없는 모델이라는 한계점을 가지고 있습니다. 이러한 문제점을 보완하기 위한 협업 모델이 Fork & PR 모델입니다. Fork & PR 방식을 이용한다면 우리가 잘 알고 있는 “Pandas” 같은 모듈에도 직접 기여를 할 수 있습니다. Collaborator가 아닌 외부의 기여자를 Contributor라고 부릅니다.
이번에도 계정이 두 개가 필요합니다. 지난 번처럼 한 계정으로는 원격 저장소를 생성해주세요. 프로젝트에 팀원으로 속해 있는 Collaborator 역할을 맡을 것입니다. 다른 한 계정은 프로젝트에 소속되어 있지 않지만 오픈 소스 프로젝트에 기여하고 싶은 Contributor의 역할을 맡으시면 됩니다. 이번에도 3행시를 짓는 오픈소스 프로젝트를 진행해봅시다. 지난 포스팅을 참고하여 똑같이 만들어 주세요.
이제 Contributor가 되어 봅시다. 로그인 해서 좌측 상단에 있는 검색창에 원격 저장소를 검색해주세요. 저의 경우는 lhmlhm1111/collabo2 라고 검색하면 들어갈 수 있겠네요.
Collaborator로 지정되어있지 않기 때문에 해당 원격 저장소에 직접 push/pull
을 할 권한이 없습니다. 대신 원격 저장소를 포크로 푹 찍듯이 자신의 계정으로 복사해 가져올 수 있습니다. 우측 상단에 Fork
버튼을 클릭합니다.
잠깐의 로딩을 기다리면 자신의 계정으로 원격 저장소가 생성된 것을 알 수 있습니다. 자세히 보시면 forked from lhmlhm1111/collabo2라고 적혀있는 것을 확인할 수 있습니다. 해당 저장소를 pull
하여 자신의 로컬저장소로 가져와 수정한 후 다시 push 해줍니다. 이 과정은 생략하겠습니다.
(혼자 하시는 분들의 경우 git bash에 등록되어 있는 계정이 달라 Push가 안되는 현상이 발생합니다. 실제 상황에서는 한 로컬에서 계정을 번갈아 Fork & PR을 하는 경우는 거의 없지만 그래도 연습 해보고 싶은 분들은 여기를 참고하셔서 git bash에 등록된 계정을 바꿔주시고 실행해주세요.)
수정이 잘 됐다면 좌측 상단의 Pull requests를 누릅니다.
우측 상단의 New pull request를 눌러줍니다.
다시 한 번 우측 상단에 뜨는 Create Pull request를 눌러줍니다
제목과 설명을 작성한 후 Creat pull request를 클릭하면 PR이 완료됩니다.
이제 팀장의 계정으로 가봅니다. Pull requests가 하나 들어와 있는 것을 확인할 수 있습니다. 클릭해봅시다.
지난 포스팅에서 봤던 것과 똑같은 화면이 나옵니다. 마음에 들면 Merge pull request를 누르시고 마음에 들지 않으면 Close pull request를 선택해주세요.
잘 된 것을 확인할 수 있습니다.
이번 포스팅을 끝으로 github
사용법에 대한 포스팅을 마치도록 하겠습니다. 여기까지만 잘 숙달하신다면 협업 상황에서 별다른 무리 없이 github
를 사용하실 수 있을 것입니다.
다음 포스팅은 보너스로 github
블로그를 구축하는 방법에 대해서 다뤄보도록 하겠습니다. 읽어주셔서 감사합니다~