⭐️ Management/Git
Fork 저장소를 원본 저장소 최신 커밋으로 반영하기
개발자 올라프
2022. 11. 23. 03:20
코딩을 하다 보면 Fork
를 통해서 본인 저장소에서 작업하다가, 원본 저장소 최신 커밋을 반영해야 하는 경우가 발생한다. 아래 과정을 통해서 해결해보자.
Github
Fork
를 진행한 원본 저장소에 커밋이 추가되면 깃허브 상단에는 본인 저장소가 원본 저장소 main 브랜치 보다 한 개의 커밋이 뒤쳐져 있다는 사실을 알려준다.
원본 저장소 remote 등록하기
- 리모트 저장소에 원본 저장소를 설정해야 원본 저장소 작업을 본인 저장소에 반영할 수 있으며, 이를 통해서 협업이 가능하다.
- 아래 명령어를 통해서 리모트 저장소 확인이 가능하다.
$ git remote -v
-
git remote -v
명령어 입력 후, 아래 결과가 나온다면 원격 저장소 설정이 되지 않은 상태이다.
origin https://github.com/<본인 유저명>/<본인 레포지토리>.git (fetch)
origin https://github.com/<본인 유저명>/<본인 레포지토리>.git (push)
-
upstream
명으로 원격 저장소를 추가한다. - 주소는 원본 저장소를 입력한다.
$ git remote add upstream https://github.com/<원본 유저명>/<원본 레포지토리>.git
-
git remote -v
명령어를 통해upstream
이 추가되었는지 확인한다.
origin https://github.com/<본인 유저명>/<본인 레포지토리>.git (fetch)
origin https://github.com/<본인 유저명>/<본인 레포지토리>.git (push)
upstream https://github.com/<원본 유저명>/<원본 레포지토리>.git (fetch)
upstream https://github.com/<원본 유저명>/<원본 레포지토리>.git (push)
원격 저장소 최신 commit 내용 가져오기
fetch
: 원격 저장소에 변경 사항이 있는지 확인하고, 변경 데이터를 로컬 Git에는 가져오지 않는다.pull
: 원격 저장소에서 변경된 메타 데이터 정보를 확인하고, 최신 데이터를 복사하여 로컬 Git에 가져온다.
- 최신화가 필요한 브랜치로 이동한다.
$ git checkout <브랜치명>
- 원격 저장소에 최신 커밋 내역을 가져온다. 필요에따라
fetch
혹은pull
명령어를 이용한다.
$ git fetch upstream
$ git merge upstream/main
- 본인 저장소에 최신 커밋 내용을 반영한다.
$ git push origin main