0. 사건의 발생
원격저장소에서, 그리고 내 로컬저장소에서 둘다 같은 파일을 수정하게 되었다.
이러한 상황에서 내가 푸시를 하게 된다면 어떻게 될까?
그렇다! 컨플릭트가 발생할 것이다!
같은 파일을 수정했는데 각자 수정한 내용이 달랐기 때문이다.
이런 상황에서 해결할 수 있는 방법 몇 가지를 소개하고자 한다.
1. 원격저장소의 내용은 무시해버리기
// 강제로 내 로컬저장소의 내용만을 남기는 방법이다.
// -f 는 force 의 약자인 옵션이다.
git push -f
2. merge 처럼 처리하기
mergetool 을 이용하여 conflict 난 부분을 수정해주는 방법
3. 애초에 원격저장소에서 내 로컬로 pull 할시에 rebase 이용하기
git pull --rebase
위와 같은 명령어를 실행하게 되면 원격저장소에서 내 로컬로 파일을 가져올 때,
원격저장소에 내 현재 HEAD 커밋을 붙여주는 형식으로 가져오게 된다.
conflict 를 해결해주고 나면, merge로 처리했을 때처럼 지저분하지 않고, 깔끔하게 push를 진행할 수 있다.
'DevOps > Git' 카테고리의 다른 글
[Git] Commit Message Convention (0) | 2025.04.15 |
---|---|
git fetch VS git pull (0) | 2021.07.10 |
git push origin master 에서 origin 의 의미 (0) | 2021.07.10 |
git merge 할 때 발생한 conflict 를 해결하는 방법 (0) | 2021.07.09 |
git checkout VS git switch/restore (0) | 2021.07.09 |