divergent branch (git pull 받을 때 오류 (git pull --ff-only/git pull --rebase 등)

Henrique·2024년 5월 22일

Git 짧막 지식

목록 보기
18/32

https://velog.io/@eunddodi/git-pull-%EC%8B%9C-%EB%B0%9C%EC%83%9D%ED%95%98%EB%8A%94-warning-%ED%95%B4%EA%B2%B0%ED%95%98%EA%B8%B0Need-to-specify-how-to-reconcile-divergent-branches

일단 전체 과정 터미널 사진

내가 Booreung 프로젝트를 하면서
feat/MS에 있는 변경 사항을 origin에서
dev <- feat/MS로 풀리퀘 하고 merge를 했음

그렇게 하고 나서 로컬의 dev 브랜치랑
원격의 dev 브랜치랑 upstream 명령어를 통해서
연결을 했음!

그러고 나서 이제 원격의 dev 레포를 pull 받으려고
git checkout dev 하고
git pull을 하니까
저렇게 노란색으로 글씨가 뜬다!

GPT 한테 물어보았고


음..
로컬 브랜치가 원격 브랜치보다 앞서 있는 커밋을 가지고 있어서 발생할 수 있다네?!

그렇다면 일단 내가 지금까지 작업한 것들을 모두
feat/JW (내 브랜치)로 push를 하고

그걸 dev <- feat/JW 방향으로 풀리퀘 하고
merge를 진행했음!

이렇게

알고보니 이거 작은거 하나 내가 dev에 merge 안해서.. 아무튼

그럼 이제 dev에는 feat/MS와 feat/JW의
모든 push된 변경 사항이 merge 되어 최신 버전이 병합된거임.

그럼 이제 로컬이 원격보다 앞서있을리는 없지?

이제 내 로컬에는 feat/JW만 있으니까
feat/JW랑 feat/MS가 합쳐진 dev 브랜치를
pull 해서 최신된 버전 위에서 작업을 하고 싶음

branch를 dev로 옮기고
git pull을 받았더니..

pull이 잘 되었다!!!!!


총정리

Merge (병합)

git config pull.rebase false
git pull origin main

Rebase (리베이스)

git config pull.rebase true
git pull origin main

Fast-forward only (빠른 병합만)

git config pull.ff only
git pull origin main

선택기준

0개의 댓글