포크한 저장소를 업스트림 저장소와 동기화하기
요약
내 저장소 (포크): https://github.com/jayleekr/adas-study-group.github.io
그룹 저장소: https://github.com/ADAS-study-group/adas-study-group.github.io
0. 포크한 저장소를 로컬에 클론하기
이미 했다면 당연히 건너뛸 수 있습니다!
$ git clone https://github.com/jayleekr/adas-study-group.github.io.git forked_repo
$ cd forked_repo
1. 업스트림 저장소에 대한 원격 설정하기
$ git remote add upstream https://github.com/ADAS-study-group/adas-study-group.github.io.git
# 확인해봅시다
$ git remote -v
origin https://github.com/jayleekr/adas-study-group.github.io.git (fetch)
origin https://github.com/jayleekr/adas-study-group.github.io.git (push)
upstream https://github.com/ADAS-study-group/adas-study-group.github.io.git (fetch)
upstream https://github.com/ADAS-study-group/adas-study-group.github.io.git (push)
2. 업스트림 저장소를 포크로 병합하기
먼저 fetch 하기:
$ git fetch upstream
remote: Enumerating objects: 172, done.
remote: Counting objects: 100% (172/172), done.
remote: Compressing objects: 100% (56/56), done.
remote: Total 148 (delta 67), reused 135 (delta 57), pack-reused 0
Receiving objects: 100% (148/148), 1.33 MiB | 1.30 MiB/s, done.
Resolving deltas: 100% (67/67), completed with 4 local objects.
From https://github.com/ADAS-study-group/adas-study-group.github.io
* [new branch] gh-pages -> upstream/gh-pages
* [new branch] master -> upstream/master
이제 병합해봅시다:
$ git merge upstream/master
포크로 푸시하기:
$ git push
Counting objects: 7, done.
Delta compression using up to 24 threads.
Compressing objects: 100% (6/6), done.
Writing objects: 100% (7/7), 1.40 KiB | 1.40 MiB/s, done.
Total 7 (delta 4), reused 0 (delta 0)
remote: Resolving deltas: 100% (4/4), completed with 4 local objects.
To https://github.com/jayleekr/adas-study-group.github.io.git
203f2c0..d7f0922 master -> master
이제 끝났습니다! 포크가 업스트림 저장소와 동기화되었습니다. 이는 오픈소스 프로젝트에 기여할 때 포크를 최신 변경사항으로 유지해야 할 때 매우 유용합니다.