Django 포스팅
Doyeon0430 | 2023년 07월 08일
이번시간에는 우분투 서버에서 git pull을 했을 때 걸리는 에러에 대해 알아보겠습니다.
에러 내용은 Your local changes to the following files would be overwritten by merge입니다.
뜻을 해석하자면 변경된 파일이 병합되면서 충돌이 발생한 것입니다.
쉽게 해결할 수 있으니 바로 포스팅 하겠습니다.
로컬 컴퓨터에서 git push를 하고 서버에서 git pull을 하는 상황 중 생긴 에러입니다.
저는 파이썬 기반에 웹 프레임워크인 Django를 사용하고 있어 포스팅 내용에 참고하시기 바랍니다.
git 오류 발생
$ git pull
error: Your local changes to the following files would be overwritten by merge:
engineer/migrations/0030_remove_django_content_remove_network_content_and_more.py
movie/migrations/0022_remove_movie_screening.py
여기서 migrations이란 데이터베이스 스키마가 변경될 때 생성되는 파일들로 모델들의 변경사항을 관리해줍니다.
에러내용을 살펴보면 마이그레이션 파일 2개가 충돌됐다고 나온겁니다.
이럴경우 git status 명령어를 통해 깃 상태를 확인할 수 있습니다.
1. git status 확인
$ git status
On branch master
...
deleted: engineer/migrations/0030_remove_django_content_remove_network_content_a
nd_more.py
deleted: movie/migrations/0022_remove_movie_screening.py
아까 오류가 발생한 2개의 파일을 삭제하라는 명령어입니다.
삭제하는 방법은 매우 간단합니다.
아래 코드만 입력해주면 됩니다.
2. git 파일 삭제
# 오류 삭제
$ git rm engineer/migrations/0030_remove_django_content_remove_network_content_and_more.py
$ git rm movie/migrations/0022_remove_movie_screening.py
# 결과 확인
$ git status
다시한번 git status를 입력하면 파일들이 삭제되었기 때문에 나타나지 않습니다.
근데 여기서 git pull을 했을 때 오류가 발생할 수 있습니다.
아래 해결 방법을 남겨놨습니다.
git에서 해당 파일들을 삭제했으므로 변경된 파일을 다시 커밋해야합니다.
git 명령어
$ git add .
$ git commit -m "merge error"
해당 명령어를 입력한 다음 git pull을 실행하면 제대로 병합됩니다.
글을 마치며 git pull을 실행했을 때 발생한 오류에 대해 알아보며 해결방법을 배워봤습니다.
긴 글 읽어주셔서 감사합니다.
댓글 (0)
간편 댓글 작성