iml파일 merge 시에 conflict 해결방법

섭정이·2025년 3월 27일
post-thumbnail

.iml 파일 Git 충돌 트러블슈팅

문제 상황 발생

협업 중 GitHub에서 패키지를 나누고 브랜치를 파서 기능을 개발한 뒤 머지하는 과정에서
.iml 파일이 지속적으로 충돌(conflict) 나는 문제가 발생하였다.


자료 수집

.iml 파일이란?

  • IntelliJ 프로젝트의 모듈 정보를 담고 있는 XML 포맷의 설정 파일.
  • 모듈의 이름, 사용 라이브러리, 컴파일러 옵션 등 다양한 구성 정보 포함.
  • 각 모듈마다 별도의 .iml 파일이 존재할 수 있다.

Conflict가 나는 이유?

  • 프로젝트 환경설정(예: lombok, 라이브러리 버전 등)이 개발자마다 달랐고, 이로 인해 .iml 파일의 내용이 달라져 충돌이 발생했다.

1차 해결 시도

"충돌이 싫다면 아예 .iml 파일을 Git에 올리지 말자!"

  • .gitignore.iml 패턴을 추가:


그리고 설레는 마음으로 다시 프로젝트를 진행하였다.

2차 문제 발생

.iml을 .gitignore에 추가했음에도 여전히 GitHub에 올라가고 충돌이 발생했다.

2차 자료 수집

  • Git 공식 문서에서 확인한 사실:

.gitignore는 “의도적으로 Git이 추적하지 않는 파일을 무시”하기 위한 파일이다.

이미 Git이 추적 중인 파일은 .gitignore에 추가해도 무시되지 않는다.

2차 해결

  • 깃이그노어에 .iml 추가
  • 이미 추적중인 파일 캐시 삭제
    git rm --cached 삭제할파일명 명령어 실행

했더니 더이상 추적하지 않아 병합 충돌을 피할수 있게 되었다.

profile
우직하게

0개의 댓글