github로 여러분들이 어떠한 프로젝트를 본인의 github에 clone해서 많이 사용하고 있을 겁니다. clone을 하려는 repository를 src, 내 github에 clone된 repository를 des라고 해봅시다. src 프로젝트는 OpenSource로 많이 개발자들이 참여하여 빠르게 발전해 나가고, 하루에도 많은 Commit들이 merge되고 있다고 하면, 내 github에 존재하는 des repository는 src repository에 merge된 commit들이 자동적으로 반영될까요? 그렇지 않습니다. 그렇기 때문에 여러분들이 직접 src repository에서 des repository로 적용시켜줘야 합니다.
1. 현재 추가되어 있는 remote repository를 확인 (git remote -v)
$git remote -v
origin https://github.com/des/test.git (fetch)
origin https://github.com/des/test.git (push)
2. 다음 remote repository를 추가 ($git remote add {name} {git-repo})
여기서 name은 여러분들이 추가할 remote git repo의 이름으로 마음대로 작명하셔도 됩니다.
전 여기서 name은 upstream으로 해주었습니다.
$git remote add upstream https://github.com/src/test.git
$git remote -v
origin https://github.com/des/test.git (fetch)
origin https://github.com/des/test.git (push)
upstream https://github.com/src/test.git (fetch)
upstream https://github.com/src/test.git (push)
remote를 추가하신 이후 git remote -v로 확인하면 upstream이란 이름으로 추가되어 있음을 볼 수 있습니다.
그럼 이제 src에서 pull해서 des에 적용하도록 해봅시다.
3. remote repo에서 pull 하기 (master branch 기준)
master branch 기준으로 설명드리면 git pull 명령어를 이용합니다. 이 때 아까 추가한 remote repo인 upstream으로부터 pull을 하도록 아래와 같이 명령어를 수행합니다.
$git pull upstream master
4. Push
이제 src repo와 des repo(local 기준) 간 sync가 맞춰졌습니다. 그럼 이제 github의 제 repo와도 sync를 맞춰야겠죠? push를 이용해서 sync를 맞춰줍시다! 아래와 같이 명령어를 수행합니다.
$git push
지금까지 github에서 remote repo와의 동기화를 위한 내용을 설명드렸습니다.
감사합니다.
'ETC > git' 카테고리의 다른 글
[git] fatal: The remote end hung up unexpectedly (0) | 2019.06.21 |
---|---|
자주 사용하는 git alias 정리 (0) | 2018.07.05 |
Linux terminal cmd line에 branch name 넣기 (0) | 2017.08.04 |
Git Tip (0) | 2017.05.01 |
git diff Tip (1) | 2017.03.09 |