본문 바로가기

공부/코딩

[GitHub] fork한 리포지토리 업데이트하기

반응형

fork해온 리포지토리로 작업하다가, 원본 리포지토리에서 업데이트가 있어서 가져오려고 한다.

 

 

1. 원본 리포지토리를 로컬에 등록

가져오고 싶은 리포지토리를 upstream 으로 등록한다.(upstream은 다른 이름으로 지정할 수 있다.)

git remote add upstream <원본 리포지토리>

 

이제 등록된 리포지토리를 확인한다. 

git remote -v

 

 

origin에는 자신의 브랜치가 등록되어있고 upstream으로 원본 리포지토리가 등록되어있을 것이다.

origin git@github.com:<현재 리포지토리>.git (fetch)
origin git@github.com:<현재 리포지토리>.git (push)
upstream <원본 리포지토리> (fetch)
upstream <원본 리포지토리> (push)

 

이 단계는 한 번 해두면 저장되기 때문에 다음부터는 2. 부터 하면 된다.

 

2. 원본 리포지토리 업데이트

원본 리포지토리의 업데이트 버전을 다운받는다.

git fetch upstream

 

3. 원본 리포지토리 병합

이제 업데이트한 원본 리포지토리를 현재 리포지토리에 병합해준다.

git merge upstream/main

 

충돌한 사항이 있다면 아래 메세지가 뜨는데 vi, vscode 등의 편집기에서 편집해주면 된다.

Automatic merge failed; fix conflicts and then commit the result.

 

4. 온라인 리포지토리로 업로드

병합 및 변경한 사항을 온라인 리포지토리로 업로드한다.

git push origin main

 

 

 

반응형