IT story

git은 xcodeproject / project.pbxproj 파일을 무시해야합니까?

hot-time 2020. 9. 3. 23:46
반응형

git은 xcodeproject / project.pbxproj 파일을 무시해야합니까?


XCode 프로젝트에서 xcodeproject / project.pbxproj 파일이 변경되었지만 쓸모없는 정보는 컴파일에 사용됩니다.

이 파일과 xcodeproject / projectxworkspace / username.xcuserdata / UserInterfaceState.xcuserstate 파일을 git 무시해야합니까?


Swift Package Manager에 비추어 업데이트 : Swift 패키지 로 프로젝트를 빌드하는 경우이 파일은 진실의 소스로 파일 시스템을 사용하여 생성 될 수 있으므로 무시해야합니다. 다음 명령을 사용하여 수행 할 수 있습니다.

$ cd ~/Projects/MyProjectFolder/
$ swift package generate-xcodeproj

비 SwiftPM 답변-아래를 참조하십시오.

이 파일에는 프로젝트의 모든 파일 목록, 대상 설정 및 어떤 파일이 어떤 대상에 속하는지 포함됩니다. 아마도 프로젝트 번들에서 가장 중요한 파일 일 것입니다. 당신은 이 파일을 무시합니다. 이에 대한 몇 가지 사항이 있습니다.

  1. 이 프로젝트에서 혼자 작업하고 싶지 않을 수도 있습니다.
  2. 다른 기계에서 프로젝트 작업을 계획하고 있습니다.
  3. 다른 사람들과 코드베이스를 공유하고 싶을 것입니다.

이것이 xcodeproj 번들의 저장소에서 원하는 유일한 파일입니다. 이 파일은 대상 파일 및 빌드 설정에 대한 모든 정보를 보유합니다.


project.pbxproj를 제외하면 Jenkins 빌드가 실패합니다. 따라서 Jenkins를 사용하는 경우 중요합니다.


안타깝게도 빌드 설정에 코드 서명이 포함되어있는 경우 다른 팀원이 변경 한 경우 "git pull"마다 코드 서명 엔터티를 다시 입력해야합니다. 이 정보는 전역 pbxproj 파일이 아닌 사용자 설정에 있어야합니다.


xcworkspace 파일도 보존해야한다는 것을 알았습니다. 그렇지 않은 경우 하위 프로젝트가있는 프로젝트가 중단되었습니다.


Xcodegen을 사용하여 YAML 프로젝트 사양 파일에서 pbxproj를 생성 한 다음 git에서 pbxproj를 무시하고 필요할 때마다 생성 할 수 있습니다.

저는 이미 모듈 식 아키텍처 (많은 pbxprojs)가있는 두 번째 프로젝트에서 Xcodegen을 사용했으며 8 명 이상의 개발자가 작업 중입니다.

https://github.com/yonaskolb/XcodeGen

도움이되기를 바랍니다.

참고 URL : https://stackoverflow.com/questions/8026429/should-i-git-ignore-xcodeproject-project-pbxproj-file

반응형