[Git] fork한 프로젝트에서 rebase하기! conflict 해결하기~!! Can’t automatically merge. Don’t worry, you can still create the pul..

상상코딩·2022년 3월 6일
0

git

목록 보기
2/2

fork란?(협업 프로젝트할 때 내 레포에 잔디심기)

협업 플젝을 fork하여 사용하다가 PR을 올리려고 하는데 conflict가 발생했당.... !!!!

Can’t automatically merge. Don’t worry, you can still create the pull request....

원인

  1. rebase나 squash등 다른 merge옵션을 사용했을 때
  2. 다른 개발자 역시 해당 레포에 커밋을 쌓았을때!

두가지 경우 모두 트리 구조를 바꾸는 것이기 때문에, fork된 내 레포에는 원격 레포의 트리구조가 반영되지 않아서이다!!

해결방법

요약

$ git remote add upstream "협업레포url"
$ git remote -v
(origin, upstream 로컬과 서버 총 4개 확인)
$ git fetch upstream master
$ git rebase upstream/master

1️⃣ git에 upstream 레포 연결해주기!

  • upstream: fork원격레포
  • origin: fork된 내 원격레포

    $ git remote -v

아직 origin만 연결되어 있다.

$ git remote add upstream (협업레포 url)
$ git remote -v

이제 upstream도 연결되었다!!

2️⃣ 이제는 rebase해보자!

pull은 [fetch+merge] 이므로 충돌 커밋을 깔끔하게 정리하고 싶다면 rebase를 선!호! 그냥 풀 받아서 사용할거면 git pull upstream 하자~

$ git fetch upstream master
$ git rebase upstream/master

이러면 끄ㅡㅌㅌㅌ~

profile
히히낙낙

0개의 댓글