1️⃣ 원본 저장소(업스트림) 등록하기
포크를 하면 내 레포지토리에는 원본 레포지토리의 정보가 등록되지 않아요. 그래서 먼저 업스트림(remote)를 등록해야 합니다.
git remote add upstream https://github.com/원본저장소아이디/원본저장소이름.git
✅ 확인:
업스트림이 잘 등록되었는지 확인하려면 다음 명령어를 실행해 보세요.
git remote -v
결과 예시:
origin https://github.com/내아이디/내레포지토리.git (fetch)
origin https://github.com/내아이디/내레포지토리.git (push)
upstream https://github.com/원본아이디/원본레포지토리.git (fetch)
upstream https://github.com/원본아이디/원본레포지토리.git (push)
2️⃣ 원본 레포지토리에서 변경사항 가져오기
이제 원본의 최신 내용을 가져와야 해요.
git fetch upstream
이렇게 하면 원본 저장소(업스트림)의 변경사항이 내 로컬 저장소에만 다운로드됩니다.
3️⃣ 내 브랜치에 병합하기 (보통 메인 브랜치)
보통 main 또는 master 브랜치를 업데이트하죠. 예를 들어 main 브랜치를 업데이트하려면:
git checkout main
git merge upstream/main
혹은 원본이 master 브랜치인 경우:
git checkout master
git merge upstream/master
💡 주의:
병합 과정에서 충돌(conflict)이 생길 수 있어요. 이 경우 충돌을 해결하고 커밋해야 합니다.
4️⃣ (선택) 내 깃허브 레포지토리에 푸시하기
로컬에서 병합이 끝났으면 깃허브에 반영해야 하죠:
git push origin main
✨ 고급: 리베이스로 깔끔하게 유지하기
만약 히스토리를 깔끔하게 유지하고 싶다면 병합 대신 리베이스를 사용할 수도 있어요:
git checkout main
git fetch upstream
git rebase upstream/main
리베이스 후에도 푸시할 때는 강제 푸시가 필요할 수 있습니다:
git push origin main --force
✅ 요약
- git remote add upstream [원본 URL]
- git fetch upstream
- git checkout main
- git merge upstream/main (또는 git rebase upstream/main)
- git push origin main
반응형
'[DEV] IT | 프로그래밍 | 종합' 카테고리의 다른 글
[Postman] 2025년 7월 18일 변경된 약관 살펴보기 (1) | 2025.07.21 |
---|---|
[XML Entity References] MyBatis에서 "<="와 같은 특수 문자를 사용할 때 대체해야 하는 문자 (0) | 2025.05.14 |
[VM option] 윈도우 환경 javaagent 패스 설정 (0) | 2025.04.09 |
댓글