본문 바로가기
개발 Error

[GitHub] Git에서 최신 내용을 가져오면서, 로컬에서 수정하던 코드와 병합

by doraemin_dev 2025. 2. 17.

현재 브랜치에서 변경 사항을 유지하면서 최신 dev 브랜치의 내용을 가져오는 방법

✅ 최신 dev 브랜치의 내용을 가져오는 방법

1. 변경 사항을 임시 저장(stash)한 후 dev 브랜치의 최신 내용 가져오기

git stash         # 현재 변경 사항을 임시 저장
git checkout dev  # dev 브랜치로 이동
git pull origin dev  # 최신 dev 브랜치 내용 가져오기
git checkout VTS  # 다시 VTS 브랜치로 이동
git stash pop     # 이전에 저장한 변경 사항 적용

✔️ 이 방법은 현재 변경 사항을 보존하면서 최신 dev 브랜치를 반영할 수 있습니다.

마지막의 빨간색 표시는 그냥 해당 파일이 변경되었다는 것 뿐이다.


2. 나의 브랜치로 가져오기. merge와 rebase 중 자신이 원하는 것으로 선택.

(방법1) dev 브랜치의 변경 사항을 현재 브랜치(VTS)로 병합하기 (merge)

git fetch origin dev  # 원격 저장소에서 최신 정보 가져오기
git merge origin/dev  # 현재 VTS 브랜치에 dev 브랜치 내용을 병합

✔️ 이 방법은 VTS 브랜치에서 직접 최신 dev 브랜치의 변경 사항을 병합하는 방법입니다. 하지만 충돌(conflict)이 발생할 수도 있으니 확인하면서 진행하세요.

 

  • git pull origin dev는 git fetch origin dev + git merge origin/dev을 한 번에 실행하는 명령어.

 


(방법2) dev 브랜치의 변경 사항을 VTS 브랜치에 리베이스하기 (rebase)

git fetch origin  # 최신 원격 저장소 가져오기
git rebase origin/dev  # VTS 브랜치를 dev 브랜치 최신 상태로 재배열

✔️ rebase는 히스토리를 깔끔하게 유지하면서 dev 브랜치의 최신 변경 사항을 VTS 브랜치에 적용하는 방법입니다. 하지만 충돌이 발생하면 직접 해결해야 합니다.


🚀 추천 방법:

  • 변경 사항을 임시 저장(stash)하고 최신 내용을 가져온 후 적용하는 방법이 가장 안전합니다.
  • 만약 VTS 브랜치에서 직접 최신 내용을 적용하고 싶다면 merge 또는 rebase 방법을 선택하면 됩니다.

어떤 방법을 선택할지 결정한 후 실행해보세요! 🔥


에러가 발생한다면 merge 할 때 오류 발생에 대해 잘 다뤄져 있으니 확인해보세요.

🤷‍♀️(참고) 똑같이 stash를 사용하면서, 다른 브랜치로 옮기는 과정

https://doraemin.tistory.com/133

 

[GitHub] 작성한 코드를 다른 브랜치로 이동하기, Can't automatically merge

dev 브랜치에서 pull 받고,나의 브랜치 (ex.CNN)으로 이동한 후 수정해야 하는데... dev에서 곧바로 수정해버렸다... dev 브랜치로 바로 올릴 수는 없으니. 따로 저장해뒀다가, 나의 브랜치로 이동한

doraemin.tistory.com