금일 GitHub에서 팀원들과 만든 파일들을 공유하는 과정에서 'DS_Store' 파일로 인한 컨플릭트가 발생했다. .gitignore
를 설정했음에도 문제가 발생했는데, 이는 DS_Store 파일의 다양한 형태를 모두 고려하지 않았기 때문이었다.
단순히 .DS_Store
만 추가하는 것이 아니라, 다음과 같은 형태를 모두 추가해야 한다:
.DS_Store
._.DS_Store
**/.DS_Store
**/._.DS_Store
아래 이녀석은 추가로 피드백받은 사항으로 이 설정도 같이 추가하면 좋다고 말씀해주셨다.
*.xcuserstate
.gitignore
에 관련 파일들을 추가Xcode에서 해결이 안 되어 터미널에서 다음 명령어로 해결:
find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch
이 명령어로 DS_Store 파일을 강제 제거 후 컨플릭트가 해결되었다.
.gitignore 설정 시 파일의 다양한 형태를 모두 고려해야 함
특히 macOS의 .DS_Store와 Xcode의 *.xcuserstate 파일 주의
컨플릭트 해결 시 강제 머지보다는 체계적인 접근 필요