dev-common

Git Fork 원본 프로젝트로 부터 동기화

검은바람 2023. 9. 26. 14:18
반응형

Git fork 동기화는 원본 저장소의 변경 사항을 포크한 저장소에 반영하는 과정입니다. 포크한 저장소에서 원본 저장소의 변경 사항을 반영하지 않으면, 원본 저장소에서 개발된 새로운 기능이나 버그 수정 사항을 사용할 수 없게 됩니다.

Git fork 동기화는 다음과 같은 단계로 진행됩니다.

  1. 원본 저장소의 URL을 확인합니다.
  2. 포크한 저장소에 원본 저장소를 upstream으로 설정합니다.
  3. 원본 저장소의 변경 사항을 가져옵니다.
  4. 원본 저장소의 변경 사항을 포크한 저장소에 병합합니다.

원본 저장소의 URL 확인

원본 저장소의 URL은 GitHub에서 확인할 수 있습니다. 원본 저장소의 페이지에서 Code 버튼을 클릭하면 URL이 표시됩니다.

포크한 저장소에 원본 저장소를 upstream으로 설정

포크한 저장소에 원본 저장소를 upstream으로 설정하면 원본 저장소의 변경 사항을 가져오거나 병합할 때 사용할 수 있습니다.

git remote add upstream <원본 저장소의 URL>

원본 저장소의 변경 사항을 가져오기

원본 저장소의 변경 사항을 가져오려면 다음 명령을 실행합니다.

git fetch upstream

이 명령을 실행하면 원본 저장소의 변경 사항이 로컬 저장소의 origin/master 브랜치에 반영됩니다.

원본 저장소의 변경 사항을 포크한 저장소에 병합

원본 저장소의 변경 사항을 포크한 저장소에 병합하려면 다음 명령을 실행합니다.

git merge upstream/master

이 명령을 실행하면 원본 저장소의 변경 사항이 포크한 저장소의 master 브랜치에 병합됩니다.

예시

다음은 Git fork 동기화의 예시입니다.

# 원본 저장소의 URL 확인
git clone https://github.com/example/my-project.git
cd my-project
git remote -v
origin https://github.com/<사용자 이름>/my-fork.git

# 포크한 저장소에 원본 저장소를 upstream으로 설정
git remote add upstream https://github.com/example/my-project.git

# 원본 저장소의 변경 사항을 가져오기
git fetch upstream

# 원본 저장소의 변경 사항을 포크한 저장소에 병합
git merge upstream/master

이 명령을 실행하면 원본 저장소의 변경 사항이 포크한 저장소의 master 브랜치에 반영됩니다.

주의사항

원본 저장소와 포크한 저장소의 브랜치 구조가 다를 경우 병합 충돌이 발생할 수 있습니다. 이 경우 충돌을 해결한 후 다시 병합해야 합니다.

원본 저장소와 포크한 저장소의 브랜치 구조가 동일한 경우에도, 원본 저장소에서 개발된 새로운 기능이나 버그 수정 사항을 포크한 저장소에서 사용하려면 반드시 병합해야 합니다.

반응형