Fork한 깃허브 소스 동기화 & PR 날리기
일단 fork한 다음 내 레포로 간다. clone or download 버튼을 통해 주소를 복사한다.
git clone [내 레포 주소]
폴더를 만들고자 하는 위치에서 git clone을 해서 로컬 레포를 만든다.
cd [폴더 이름]
git remote -v
해당 폴더로 이동한 뒤 remote 를 체크한다. 그러면 origin [내 깃헙 레포 주소] 이렇게 나올 것이다. 즉 포크해서 가져온 내 레포와 기본적으로 연결되어 있는 것이기 때문에 원래의 소스가 있는 레포랑 연결하려면 별도로 추가해주어야 한다.
git remote add upstream [원래 소스 깃허브 주소]
포크해온 원래 소스가 있는 깃허브로 이동해서 주소를 복사한 뒤 위 명령어를 실행한다. 그러고 나서 다시
git remote -v
하면 origin뿐만 아니라 upstream이라는 이름으로 연결된 것을 볼 수 있다.
이제 연결을 마쳤으니 동기화해야 한다.
git fetch upstream
업스트림에 있는 변경사항을 로컬로 가져와 반영한다. 나의 경우 이렇게 브랜치가 새롭게 반영되었다.
여러 개의 브랜치가 있는데 내가 여기서 가져오고 싶은 것은 tutorial/debugging 브랜치의 내용이다. 따라서 아래와 같이 머지한다. 여기서 주의할 점은 내가 머지하고자 하는 로컬 브랜치로 체크아웃한 상태여야 한다. 나는 그냥 마스터 브랜치에 머지했다.
또는git merge upstream/tutorial/debugging
git pull --rebase upstream tutorial/debugging
이제 모든 변경사항이 업데이트되었으므로 내가 할 작업을 하면 된다. 그 다음에
git push origin master
로 내 레포에다가 푸시한다.이제 원래 소스가 있는 레포에다가 이것을 반영하고 싶으면 풀리퀘를 날리면 된다. 내 레포에서 pull request를 클릭하고 pr를 날리고자 하는 브랜치를 잘 선택한 뒤 내용을 적고 날린다.