IT

Vcode에서 Xcode5의 * .xccheckout 파일을 무시해야합니까?

lottoking 2020. 6. 5. 08:15
반응형

Vcode에서 Xcode5의 * .xccheckout 파일을 무시해야합니까?


Apple은 Xcode 5에 "xccheckout"이라는 새로운 프로젝트 관련 파일 형식을 도입했습니다.

이 파일은 ".xcodeproj / project.xcworkspace / xcshareddata /"디렉토리에 있으며 프로젝트의 버전 관리 시스템과 관련이있는 것 같습니다.

예제 파일은 다음과 같습니다. http://pastebin.com/5EP63iRa

VCS에서는이 유형의 파일을 무시해야한다고 생각하지만 확실하지 않습니다.

여기 질문이 있습니다 :

  1. "xccheckout"을 무시해야합니까?
  2. 그 목적은 무엇입니까?

당신은 해야 엑스 코드 5에서 확인 .xccheckout파일; 일반적으로 파일은 xcshareddata커밋해야합니다.

.xccheckout파일 저장소는 작업 공간에서 사용 되는가에 대한 메타 데이터가 포함되어 있습니다. 별다른 차이가없는 단일 리포지토리의 단일 프로젝트. 그러나 다른 리포지토리의 여러 프로젝트가있는 작업 영역을 사용하는 경우 작업 영역에 .xccheckout파일이 있으면 Xcode는 작업 영역을 구성하는 모든 구성 요소가 무엇이고 어디에서 얻을 수 있는지 알 수 있습니다.


*.xccheckout파일은 VCS의 메타 데이터를 포함, 따라서 VCS에 체크인 할 수 없습니다.

반면에 :이 파일을 체크인하면 병합 문제 또는 다른 문제가 발생하지 않을 수 있습니다.

이 파일을 무시하려면 (권장) 프로젝트에 다음 줄을 추가해야합니다 .gitignore.

*.xccheckout

Abizern솔루션 은 작업 공간 내의 프로젝트에서 작동하지 않습니다. 작업 공간을 사용할 때 *.xccheckout파일 경로 는 다음과 같습니다 <workspace-name>.xcworkspace/xcshareddata/<workspace-name>.xcchekout. 그리고 실제로 당신이 원하는 것보다 더 많은 것을 무시합니다.

편집 : 이 파일은 프로젝트의 많은 VCS 시스템에 대한 Xcode의 지식을 관리하기 위해 존재합니다 .Chris Hanson 답변을 참조하십시오 . 프로젝트의 99 % 이상에서 .xccheckout 파일은 구성 오버 킬입니다.


때에 따라 다르지. 파일에는 사용중인 원격 저장소에 대한 참조가 포함되어 있습니다. Perforce 또는 Subversion과 같은 중앙 집중식 VCS를 사용하는 경우 모든 사람의 원격 저장소가 동일하므로 파일을 체크인하고 체크인 할 수 있습니다.

Mercurial 또는 git과 같은 분산 VCS를 사용하지만 CVCS 인 것처럼 사용하는 경우 (즉, 모든 사용자가 공유 저장소에서 머신의 개인 작업 공간으로 직접 복제 한 경우) 여전히 확인하고 싶을 수 있습니다. 에.

그러나 표준 사용 패턴으로 GitHub를 사용하는 것과 같이 자체 원격 클론을 가진 모든 사람과 함께 DVCS를 사용하는 경우이 파일을 체크인하지 않으려 고합니다. 풀 요청은 리포지토리 설정을 요구합니다. 다른 모든 xccheckout 파일로 복사되지만 저장소 설정은 다른 원격 저장소를 사용하고 있기 때문에 다른 사용자의 설정과 다릅니다.


예, Project.xccheckout파일을 저장소에 커밋해야합니다. Xcode는이 파일을 사용하여 작업 공간을 여는 다른 사용자에게 작업 공간에서 사용하는 전체 소스 제어 저장소 목록 및 작업 공간과 관련된 작업 사본위치 ( Git, SVN 또는 둘 다) 를 알려줍니다 .

작업 공간을 열면 Xcode는 Project.xccheckout파일을 사용 하여 작업 공간의 일부를 형성하는 다른 저장소가 있음을 사용자에게 알리고 체크 아웃해야 할지를 묻습니다. 추가 리포지토리를 체크 아웃 할 때 Xcode는 Project.xccheckout파일을 생성 할 때와 동일한 작업 공간 기준 폴더 구조에 작업 복사본을 배치합니다 .

크리스 핸슨은 말했다, 아마 단일 저장소, 하나의 프로젝트 작업을 위해 중요하지 않습니다,하지만 더 복잡한 업무를 위해 참으로 아주 편리 할 것입니다.

이에 대한 자세한 내용은 WWDC 2013 세션 비디오 Xcode의 소스 제어 이해를 참조하십시오 . 관련 부분은 약 15 분에 시작됩니다.


이것이 Xcode의 .gitignore에있는 것입니다.

#Xcode
*.xcuserstate
project.xcworkspace/
xcuserdata/

프로젝트가 저장소에서 나를 찾는 방식의 로컬 상태와 관련된 모든 것을 유지합니다.

xccheckout 파일이 여기에 있으므로 기본적으로 내 시스템에서 추적되지 않습니다.

Xcode는 더 나아졌으며 공유해야 할 것과 로컬로 유지해야 할 것을 분리했습니다. 예를 들어; 이 줄은 기본 빌드 구성표를 무시합니다. 이는 특정 빌드 구성표를 공유 된 것으로 표시 할 수 있으며 무시되지 않은 디렉토리에 저장되기 때문에 좋습니다.

중단 점은 무시되지만 특정 중단 점을 프로젝트에서 공유되는 것으로 표시 할 수 있으며 무시되지 않은 디렉토리에도 배치됩니다.

참고 URL : https://stackoverflow.com/questions/18340453/should-xccheckout-files-in-xcode5-be-ignored-under-vcs

반응형