My Image

Django 포스팅

[Django] 장고 migrations 충돌로 git pull 안될 때 오류 해결하기

Doyeon0430 | 2023년 07월 08일

Django 이미지

이번시간에는 우분투 서버에서 git pull을 했을 때 걸리는 에러에 대해 알아보겠습니다.

에러 내용은 Your local changes to the following files would be overwritten by merge입니다.

뜻을 해석하자면 변경된 파일이 병합되면서 충돌이 발생한 것입니다.

쉽게 해결할 수 있으니 바로 포스팅 하겠습니다.

 

  1. git pull 충돌 발생

  2. git status 충돌 확인

  3. git 파일 커밋

 

 

1. git pull 충돌 발생

로컬 컴퓨터에서 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개가 충돌됐다고 나온겁니다.

 

 

2. git status 충돌 확인

이럴경우 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을 했을 때 오류가 발생할 수 있습니다.

아래 해결 방법을 남겨놨습니다.

 

 

3. git 파일 커밋 

git에서 해당 파일들을 삭제했으므로 변경된 파일을 다시 커밋해야합니다.

 

git 명령어

$ git add .
$ git commit -m "merge error"

해당 명령어를 입력한 다음 git pull을 실행하면 제대로 병합됩니다.

글을 마치며 git pull을 실행했을 때 발생한 오류에 대해 알아보며 해결방법을 배워봤습니다.

긴 글 읽어주셔서 감사합니다.

댓글 (0)

    댓글이 없습니다.

간편 댓글 작성

My Image My Image My Image My Image