이미 Fork 한지 오랜된 저장소의 경우 원본 프로젝트의 업데이트가 반영되지 않은 경우가 많다.
이 경우, 최신으로 동기화를 해 두는 것이 필수!!
반대의 경우는 Pull Request 를 날리면 되겠지만, 일단 최신 소스를 반영한 다음에 수정을 해도 해야 되지 않을까?
[Git] Fork 한 repository 최신으로 동기화하기 with Sourcetree
아래글을 참고하면 console command 로 할 수 있다.
다만, 이 글은 console 창에서 열심히 쳐야 하므로, 여기서는 Sourcetree 툴을 이용해서 해보자.
일단 아래 프로젝트를 유사한 상황으로 만들어서 해본다.
원본 프로젝트 : https://github.com/Wiznet/W7500x_StdPeriph_Lib
포크 프로젝트 : https://github.com/bjnhur/W7500x_StdPeriph_Lib
그림에서 보는 바와 같이 Fork 한 이후에 원본 프로젝트에 3개의 commit이 더 발생했다. 따라서 Fork 한 프로젝트에도 이 변경 부분이 동기화 되어야 한다.
먼저, Sourcetree 를 이용하여 clone 하고 원본 프로젝트를 remote 에 추가하는 작업으로 시작한다.
Add 버튼을 누르고,
원본 프로젝트의 주소를 입력한다. 이름은 원하는 것으로 보통 "upstream" 을 많이 쓰던데, 그냥 "root_project" 로 넣어봤다.
Remote 가 아래 그림처럼 등록되었다.
그럼 이제, 원본 프로젝트에서 최신 업데이트된 내용이 있는 지 Fetch 를 이용하여 정보를 받아오자.
그럼, 원본 프로젝트에는 3개의 commit 이 Fork 한 이후에 발생했다는 사실을 아래 그림과 같이 알 수 있다.
그럼 이제 마지막으로 최근에 변경된 3개의 업데이트를 Fork 된 저장소에 Merge 해서 동기화를 마무리를 해보자.
아래 그림처럼, Merge 버튼을 눌러보자.
충돌이 발생했다면, Resolve 하시면 되고 별일 없다면 아래 그림처럼 Clone 한 내 로컬 저장소에 변경된 것이 Merge 가 된 것을 볼 수 있다. (3개의 commit이 적용된 것을 확인!!)
이젠, Push 버튼을 눌러 GitHub에 있는 remote 저장소에도 적용 시키면 동기화 완료!!
그럼 GitHub 저장소에 가서 확인 해 보면,
콘솔로 해도 되지만, Sourcetree GUI 툴을 이용해 눈으로 보면서 쉽게 하는 방법도 익혀두자.
이만 즐 코딩~~
'IT > Software' 카테고리의 다른 글
[프로그래밍] 구글 코딩 가이드 설명서 (0) | 2019.06.10 |
---|---|
vscode keyboard shortcuts - 단축키 테이블 (0) | 2019.05.21 |
GNU arm gcc toolchain + Eclipse 개발환경 설치 (0) | 2019.05.03 |
[개발] 무료 터미널 툴 - Serial Terminal tool on Windows (0) | 2019.04.04 |
쿠버네티스에 대한 설명과, 마이크로서비스에 대한 설명 (0) | 2018.10.22 |