Github fork로 팀 프로젝트 협업하기

김윤홍·2024년 8월 12일
0

Github의 fork기능이란?

포크는 "업스트림" 리포지토리리라고도 하는 원본 리포지토리에 영향을 미치지 않고 프로젝트를 변경하도록 해줍니다. 리포지토리를 포크한 후, 업스트림 리포지토리에서 업데이트를 가져와 포크를 최신 상태로 유지하고, 끌어오기 요청을 사용하여 포크에서 업스트림 리포지토리로 변경 내용을 제안할 수 있습니다. 포크는 개인 계정 또는 조직에 있을 수 있습니다.
공식사이트

fork는 다른 사람의 repo를 나의 repo로 복제를 하는 기능이다.

오픈 소스 프로젝트에서, fork는 upstream repo에 변경 내용을 통합하기 전에 아이디어 또는 변경 내용을 반복하는 데 종종 사용된다.

흐름 정리

  1. fork로 다른사람의 repo를 나의 repo로 복제 함.

  2. 이때 upstream repo에서 변경사항은 최신 버전으로 받아 올수있다. sync fork 기능을 이용

  3. 나의 변경사항을 pull request로 upstream repo에 요청할 수 있다.


git clone이랑 차이점은 무엇일까?

clone은 repo를 내 컴퓨터에 복사하여 새로운 저장소를 만드는 개념이다. 이 때 내 컴퓨터에 있는 새로운 저장소는 clone한 원본 repo를 remote 저장소 origin으로 설정되어 있다.

git clone사용시 fork와 다르게 기존의 제일 처음 original repo와 연결되지 못하기 때문에 저장소의 commit등의 log를 보지 못한다.


fork를 이용해 보기

먼저 다른 사람의 repo에서 또는 협업자의 repo에서 create a new fork를 눌러준다.

로컬 저장소에 fork한 저장소를 clone해주고 원격 저장소에 원본 프로젝트를 원격 저장소로 등록을 해야한다.

git remote add upstream 원본저장소 주소
git remote -v 원격 저장소확인 
git pull upstream main upstream과 동기화(sync fork)

최종 정리

최정정리를 하면서 나의 git 협업방식을 설명하려고 한다.

  1. fork를 이용해 다른 사람의 repo를 내 repo로 가져오고

  2. 변경 사항이 있을경우 작업 후 해당 브랜치에서 commit을 하고
    원본 저장소에 내용들을 sync fork 해서 최신화를 시켜준다

  3. 최신화 된 브랜치로 rebase를 사용해 merge후 push 그리고 pr을 날린다.

0개의 댓글

관련 채용 정보