Roel Notebook

[Git] Fork 한 repository 최신으로 동기화 하기

by Roel Downey
728x90
반응형

- Fork 한 repository를 최신으로 동기화 시켜야 할 때가 있었다. 

 

첫 번째 : 내가 Fork한 repository를 가져온다.

두 번째 : 원본 repository를 remote repository로 추가한다.


Fork 해온 repository 에서 remote repository 를 확인하면 아래와 같이 나올 것이다.

$ git remote -v

origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)

origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)

 

동기화해오고 싶은 원본 repository 를 upstream 이라는 이름으로 추가한다.

$ git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git

 

upstream repository 가 제대로 추가 되었는지 확인한다.

$ git remote -v

origin  https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)

origin  https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)

upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (fetch)

upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (push)

 

이제 upstream repository 로부터 최신 업데이트를 가져올 차례이다.

Git 의 fetch 명령어를 통해 upstream repository 의 내용을 불러온다.

$ git fetch upstream

remote: Counting objects: 75, done.

remote: Compressing objects: 100% (53/53), done.

remote: Total 62 (delta 27), reused 44 (delta 9)

Unpacking objects: 100% (62/62), done.

From https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY

* [new branch]     master     -> upstream/master

 

upstream repository 의 master branch (혹은 원하는 branch) 로부터 나의 local master branch 로 merge 한다.

$ git checkout master

Switched to branch 'master'

 

$ git merge upstream/master

Updating a422352..5fdff0f

Fast-forward

README                   |   9 -------

README.md                 |   7 ++++++

2 files changed, 7 insertions(+), 9 deletions(-)

delete mode 100644 README

create mode 100644 README.md

 

이 과정까지는 local repository 에서 일어난 것이므로 push 를 통해 remote repository 에도 적용시켜주면 완료!

$ git push origin master

 

< 그럼 해보자!!!! >

1. git clone "git@github.com:conyconydev/chisel.git" 하여 clone 한다.

나는 왜? https://github.com/conyconydev/chisel.git 이렇게 될까? 라고 의문점을 가지는 사람을 위해

SSH 가 궁금하다면? https://help.github.com/en/github/using-git/which-remote-url-should-i-use 여기 참고

HTTPS가 궁금하다면? https://help.github.com/en/github/using-git/which-remote-url-should-i-use 여기 참고

clone을 받고 해당 directory로 이동한다.

 

 

 

2. remote 확인하고, upstream 추가하고 , remote 확인

3. git fetch 명령어를 통해 upstream repository 의 내용을 불러온다. 

4. upstream repository 의 master branch (혹은 원하는 branch) 로부터 나의 local master branch 로 merge 한다.

5. push

기존 업데이트 하기 전

 

 

업데이트 후

728x90
반응형

블로그의 정보

What doing?

Roel Downey

활동하기