들어가며
Repository 를 Fork 하는 방식으로 진행할 경우 원본 저장소를 가져오는 방법에 대해 배우게 되었습니다.
원본 저장소에서 변경된 사항이 있으면 Fork한 스터디원 저장소에는 반영이 되지 않기에 동기화를 진행해줘야 하는데요.
이 과정을 진행하면서 Upstream 개념에 대해 새롭게 알 수 있엇습니다.
Fork란?
다른 사람의 Repository를 그대로 복사해 내 소유의 Repository로 가져오는 기능입니다.
- Fork한 저장소는 내 소유이므로 마음대로 소스코드를 수정할 수 있으며, 원본 저장소에는 영향을 주지 않습니다.
- 협업을 위해 어떤 부분을 수정하거나 혹은 추가 기능을 넣을 때 Fork를 활용합니다.
- Fork 저장소의 수정 내역은 Pull Request로 요청하고, Merge를 거쳐야만 원본 저장소에 업데이트 됩니다.
Upstream이란?
다른 사람의 Github의 저장소를 Fork한 경우 내 Github가 Origin이 됩니다. 처음 Fork를 시도한 저장소를 upstream이라고 부릅니다. origin과 upstream 모두 remote 저장소입니다.
Upstream 저장소 추가
$ git remote add upstream [원본 저장소]
Remote 저장소 목록 확인
$ git remote -v
UPstream 저장소의 변경 내역 반영하기
upstream 저장소로부터 fetch 합니다. (원본 저장소의 최신 내용 가져오기)
$ git fetch upstream
merge 할 브랜치로 변경 후 , 원본 저장소의 변경사항을 merge 해줍니다.
$ git checkout main
$ git merge upstream/main
원격 저장소인 origin에 반영하기 위해 git push를 수행합니다.
$ git push origin main
참고한 자료
'STUDY > Git' 카테고리의 다른 글
[Git] Branch 생성 (0) | 2024.04.18 |
---|---|
[Git] Git Clone - Not Found 오류 (0) | 2024.04.16 |