개발 일기

Git pull request - can't automatically merge 해결하기 본문

Tech/GIT

Git pull request - can't automatically merge 해결하기

flow123 2021. 12. 4. 00:49

상황: Main에 내 작업을 푸시하려고 함 

실수로 Merge Main 이 안된 상태로 push origin master (ㅜㅜ)

결과: 충돌이 남..

고민: 이번에는 원격 main pull 이 2-3회 정도 뒤쳐져있어서, 내 파일과 차이나는 것들이 꽤 많았다.

내가 로컬에서 코드 수정해서 푸시해도 괜찮을지?(코드 내용이 같아도 순서가 바뀌어 있거나 한 것들이 있었다) 

 

해결책:

로컬에서 main 소스를 작업 브랜치에 머지하고 다시 푸쉬하면 된다. 

소스가 꼬이고 main 과 위치가 좀 달라도 내용이 바뀌지 않으면 크게 상관없는 듯하다. 

(한줄 변경점이 누락된 코드가 있어서 (아마 기존 메인이 덮어져서 코드가 지워진 것 같다) 그것만 따로 수정해줬다. 

//git 나의 로컬 작업 브랜치 

git add . 
git commit -m "message"

//
git checkout main 
git pull origin main
//이미 main에 있으니 굳이 안해줘도 되긴하지만, 헷갈리니 그냥 찍어주자. 
git checkout main 
git checkout je-posting 

//중간 중간 status 를 찍어본다. 
git add . 
git commit -m "message" //main 받아온 이후에 commit을 다시 해준다. 
git checkout main 

//이 상황에서 git push 를 해주었더니, Auto-Merging 시도 후 Conflict(content)가 발생. 

//해결 
git merge main 
//에러메시지 
//error: Merging is not possible because you have unmerged files.
//hint: Fix them up in the work tree, and then use 'git add/rm <file>'
//hint: as appropriate to mark resolution and make a commit.

//로컬에서 충돌 부분들을 정리해준다. 다시 COMMIT 
git add . 
git commit -m //"메시지"
git push origin //내 원격 브랜치 
git checkout main //내 로컬 메인으로 와서 
git pull origin main //가장 최근 메인을 다시 pull 
git branch 새 브랜치 // 다음 작업을 위해 새 브랜치를 따자
git checkout 새 브랜치 //새 브랜치로 이동. 이미 origin main 이 업데이트 되어 있겠지ㅏㅁㄴ. 
git pull origin main // 그래도 확인한다. 역시 up to date이다.

=

 

 

 

 

'Tech > GIT' 카테고리의 다른 글

TIL - GitRepository 생성  (0) 2022.01.13
Git reset 하기 + git commit reset hard로 시간 여행하기  (0) 2021.12.03
Git push error  (0) 2021.11.28
Github 에 commit 하기 전에 체크사항  (0) 2021.10.19
Comments