1. 상황 요약
내 PC에서 .gitignore 파일을 수정하고 커밋한 뒤 원격 저장소에 Push했다.
그런데 디자이너 PC에서 Eclipse로 Pull을 받으려 하자 아래와 같은 충돌 메시지가 발생했다.
Checkout conflict with files:
.gitignore
또는 터미널에서 git status를 확인하면 다음처럼 보일 수 있다.
Untracked files:
.classpath
.gitignore
.project
.settings/
2. 원인
이 문제는 일반적인 merge conflict라기보다는 checkout conflict에 가깝다.
즉, 원격 저장소에는 .gitignore 파일이 존재하는데, 디자이너 PC에도 Git이 관리하지 않는 .gitignore 파일이 이미 존재하고 있는 상태다.
Git 입장에서는 Pull을 하면서 원격의 .gitignore를 내려받아야 하는데, 현재 PC의 기존 .gitignore 파일을 덮어쓰게 되므로 안전을 위해 Pull을 중단한다.
정리하면 다음과 같다.
원격 저장소:
.gitignore 있음
디자이너 PC:
.gitignore 있음
하지만 Git 관리 대상이 아님, 즉 untracked 상태
결과:
Pull 시 원격 .gitignore가 로컬 .gitignore를 덮어쓸 수 있어서 Git이 중단
3. 핵심 판단 기준
디자이너 PC의 .gitignore가 중요한 파일인지 먼저 확인한다.
대부분의 경우 .gitignore는 프로젝트 공통 파일이므로, 원격 저장소에 올라간 버전을 사용하는 것이 맞다.
따라서 디자이너 PC의 로컬 .gitignore는 백업 후 삭제하고 Pull 받으면 된다.
4. 터미널 해결 방법
디자이너 PC에서 Git Bash 또는 Eclipse Terminal을 열고 프로젝트 폴더로 이동한다.
예시 경로:
cd /c/Users/designer/git/toxinfo2020
현재 상태를 먼저 확인한다.
git status
.gitignore가 untracked로 표시된다면 아래 순서로 처리한다.
cp .gitignore ../gitignore_designer_backup.txt
rm .gitignore
git pull
git status
5. 명령어 의미
.gitignore 백업
cp .gitignore ../gitignore_designer_backup.txt
현재 디자이너 PC에 있던 .gitignore를 프로젝트 폴더 밖에 백업한다.
혹시 나중에 필요한 ignore 항목이 있으면 백업 파일을 열어 확인할 수 있다.
.gitignore 삭제
rm .gitignore
Git이 Pull 받을 때 충돌을 일으키던 로컬 .gitignore 파일만 삭제한다.
원격 저장소에서 Pull
git pull
원격 저장소의 최신 커밋을 내려받는다.
이때 원격 저장소에 있는 정상 .gitignore가 프로젝트에 생성된다.
상태 확인
git status
Pull 이후 상태를 확인한다.
6. Eclipse에서 처리하는 방법
터미널을 쓰지 않고 Eclipse에서 처리한다면 다음 순서로 진행한다.
1. Project Explorer에서 .gitignore 확인
2. 필요하면 .gitignore 내용을 메모장에 백업
3. .gitignore 삭제
4. 프로젝트 우클릭
5. Team > Pull
6. 프로젝트 우클릭
7. Refresh
단, Eclipse 메뉴에서 삭제할 때는 반드시 .gitignore만 삭제한다.
7. 주의할 파일
현재 디자이너 PC에 아래 파일들이 같이 보일 수 있다.
.classpath
.project
.settings/
이 파일들은 Eclipse 로컬 프로젝트 설정 파일일 수 있다.
따라서 현재 문제 해결 단계에서는 건드리지 않는 것이 안전하다.
삭제 대상은 우선 .gitignore 하나만이다.
8. 절대 바로 하면 안 되는 명령
아래 명령은 주의해야 한다.
git reset --hard
이 명령은 현재 작업 중인 로컬 변경사항을 날릴 수 있다.
특히 디자이너 PC에 아직 Push하지 않은 커밋이나 작업 파일이 있다면 위험하다.
이번 상황에서는 .gitignore 하나만 처리하면 되므로 reset --hard는 사용하지 않는 것이 좋다.
9. 최종 정리
이번 케이스의 가장 안전한 처리 순서는 다음과 같다.
git status
cp .gitignore ../gitignore_designer_backup.txt
rm .gitignore
git pull
git status
Pull 성공 후 Eclipse에서는 프로젝트를 새로고침한다.
Project 우클릭 > Refresh
10. 한 줄 요약
디자이너 PC의 .gitignore가 Git 관리 대상이 아닌 로컬 파일로 존재해서 Pull이 막힌 상황이므로, .gitignore만 백업 후 삭제하고 다시 Pull 받으면 된다.
'study > TIP' 카테고리의 다른 글
| 커서 학생인증은 안되는구나... edu 메일만 되는군요. (0) | 2026.07.01 |
|---|---|
| Git 이슈 2. VSCode에서 Pull을 다 받았는지 확인하는 방법 (0) | 2026.06.10 |
| 바이브코딩, 감으로 하지 말고 점수로 보자 — VibeGraph 만든 이야기 (1) | 2026.06.07 |
| ORACLE 대용량 데이터 백업 처리시 (0) | 2026.01.16 |
| JENKINS MVN BUILD OPTION (0) | 2026.01.14 |