0. 사건의 발생

원격저장소에서, 그리고 내 로컬저장소에서 둘다 같은 파일을 수정하게 되었다.

이러한 상황에서 내가 푸시를 하게 된다면 어떻게 될까?

그렇다! 컨플릭트가 발생할 것이다!

같은 파일을 수정했는데 각자 수정한 내용이 달랐기 때문이다.

이런 상황에서 해결할 수 있는 방법 몇 가지를 소개하고자 한다.

 

1. 원격저장소의 내용은 무시해버리기

// 강제로 내 로컬저장소의 내용만을 남기는 방법이다.
// -f 는 force 의 약자인 옵션이다.
git push -f

 

2. merge 처럼 처리하기

mergetool 을 이용하여 conflict 난 부분을 수정해주는 방법

 

3. 애초에 원격저장소에서 내 로컬로 pull 할시에 rebase 이용하기

git pull --rebase

위와 같은 명령어를 실행하게 되면 원격저장소에서 내 로컬로 파일을 가져올 때,

원격저장소에 내 현재 HEAD 커밋을 붙여주는 형식으로 가져오게 된다.

conflict 를 해결해주고 나면, merge로 처리했을 때처럼 지저분하지 않고, 깔끔하게 push를 진행할 수 있다.

+ Recent posts