어쩔수 없이 빌드된 파일을 push해야하는 상황에서, 해당 파일이 충돌이 나면 난감하다.
복잡하게 구성되어 있는 컴파일된 데이터를 비교할 수 없기 때문이다.
이럴때 특정 브랜치의 코드로 적용을 해야할 상황이 있다.
상황은 항상 develop, release, master와 같이 환경별 머지 대상이 되는 브랜치와,
작업 브랜치인 feature 브랜치가 대상이 될 것이다.
develop, release, master와 같이 환경별 배포대상이 되는 브랜치 기준으로 코드를 덮어쓰기 할 경우
feature와 같이 작업 브랜치 기준으로 코드를 덮어쓰기 할 경우
conflict가 발생한 상태에서:
conflict가 발생한 파일을 확인하고, 해당 파일을 feature branch의 내용으로 덮어쓰려면 다음 명령을 실행합니다.
git checkout --[ours | theirs] <파일명>
# result
# Updated 1 path from the index
모든 conflict 해결:
만약 여러 파일에서 conflict가 발생한 경우, 모든 파일에 대해 --theirs를 적용하려면 아래 명령을 사용할 수 있습니다.
git checkout --[ours | theirs] .