깃허브 fork

OneTwoThree·2023년 7월 24일
0

깃허브

목록 보기
13/14

fork란?

출처


개발자들끼리 협업할 때 쓰인다
원작자 코드를 fork하면 내 원격 저장소에서 코드를 맘대로 뜯어 고칠 수 있다

git remote -v 원격 저장소 확인
git remote add upstream https://github.com/ORIGINAL_OWNER/Spoon-Knife.git

fork와 clone의 차이점

출처


fork는 다른 사람의 repository를 내가 어떤 부분을 수정하거나 추가 기능을 넣고 싶을 때 해당 repository를 내 github repository로 복제하는 기능이다. 포크한 저장소는 원본 저장소와 연결되어 있다. original repository에 변화가 생기면(새로운 commit) 그대로 forked repository에 반영 가능하다. 이 때 fetch나 rebase가 필요하다.

후에 original repository에 변경 사항을 적용하고 싶으면 해당 저장소에 pull request를 해야한다. pr이 승인 되면 내 코드가 commit, merge되어 original에 반영된다.

fork와 pr로 협업하기

출처


  1. 먼저 타겟 프로젝트의 저장소를 내 저장소로 Fork 한다
  2. 로컬 저장소에 fork 한 저장소를 clone 한다
  3. 원격 저장소에 원본 프로젝트를 원격 저장소로 등록해야 한다.

    다음과 같이 내 저장소는 origin으로 등록되어 있는 것을 확인할 수 있다.
    원본 프로젝트를 원격 저장소로 등록해주기 위해 아래 코드를 실행한다

    git remote add upstream 주소
    git remove -v 로 원격 저장소 확인
    보통 upstream 이라는 별칭을 사용한다.
  4. 로컬에서 작업하기 위해 브랜치를 만든다
  5. 작업을 진행하고 add, commit, push 한다
  6. 깃허브의 fork 한 리포지토리로 이동한다. pr 방향을 정해주고 pr 코멘트를 적은 뒤 생성한다.
  7. pr을 받은 원본 저장소 관리자는 코드 변경 내역을 확인하고 merge 여부를 결정함
  8. merge 이후 동기화 및 브랜치 삭제
    git switch main : main 브랜치로 이동
    git pull upstream main : upstream과 동기화
    git push origin main : origin에 반영
    git branch -d develop : develop 브랜치 삭제
    git push origin --delete develop : 원격 저장소 브랜치 삭제

0개의 댓글