Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 배열 만들기1
- 프로그래머스 n의 배수 고르기
- 객체지향
- 프로그래머스 암호 해독
- 프로그래머스 n번째 원소까지
- 프로그래머스 문자열 정렬하기 (1)
- cocoapods 설치 오류
- array
- ruby설치
- 연산자
- 프로그래머스 조건에 맞게 수열 변경하기 3
- swift
- 주사위 게임1
- 프로그래머스 배열 만들기1
- Til
- 프로그래머스 문자열 붙여서 출력하기
- 스파르타 코딩클럽 내일배움캠프
- continue
- 프로그래머스
- 문자열 붙여서 출력하기
- 스파르타코딩캠프
- 스페인어
- Error installing cocoapods
- 문자열 정렬하기 (1)
- Break
- n번째 원소까지
- 조건에 맞게 수열 변경하기 3
- 프로그래머스 자동커밋
- 프로그래머스 주사위 게임1
- 프로그래머스 최댓값 만들기(2)
Archives
- Today
- Total
dev._.note
[Git] Xcode pbxproj merge conflict 문제 해결 방법 본문
pbxproj 파일은 Build Setting(실제 프로젝트의 설정) 을 담은 파일이다.
프로젝트 내부에서 생성된 파일들을 파일 유형에 따라 reference를 저장하고 있다. conflict는 파일에 대한 reference가 없을 때 일어난다.
중요한 파일이므로 .gitignore에 추가할 수 없는 파일이다.
pbxproj 파일은 보기가 너무 불편하다. Pro Git Book 에서는 사실 텍스트 파일이지만 만든 목적과 의도를 보면 바이너리 파일이라고 말하며, 여러 명이 이 파일을 동시에 수정하고 Merge 할 때 diff가 도움이 되지 않고 프로그램이 읽고 쓰는 파일이기 때문에 바이너리 파일처럼 취급하는 것이 옳다고 한다.
해결 방법
- pbxproj 파일을 binary 파일로 취급하기 위해 프로젝트 최상위 폴더(README.md가 있는 곳)에서 .gitattributes 파일을 만들고 설정해주면 된다.
vi .gitattributes // .gitattributes 파일 생성
*.pbxproj binary merge=union // 입력 후 esc -> :wq -> enter로 저장
echo "*.pbxproj binary merge=union" >> .gitattributes
- 생성된 .gitattributes 파일을 원격 저장소에 push
git add .
git commit -m "*.pbxproj Avoid Merge Conflict"
git push origin main
'Dev > ERROR' 카테고리의 다른 글
[Error] Error Domain=NSURLErrorDomain Code=-1022 (0) | 2024.02.19 |
---|---|
[Error] NSInternalInconsistencyException (0) | 2024.02.14 |
[Error] (Xcode): Sandbox: rsync(13885) deny(1) (0) | 2024.01.31 |
[Error] Error installing cocoapods (0) | 2023.12.14 |
[Error] Expressions are not allowed at the top level (1) | 2023.12.02 |