[Xcode] SPM xcsharedata > swiftpm .gitignore 제외 여부

반응형

     

     CocodPods Podfile.lock 

     

    CocoaPods 를 사용하면 Podfile.lock이라는 파일을 확인할 수 있습니다. 이는 일반적으로 .gitignore에 포함되지 않습니다. 그 이유는 여러 사용자(개발자)가 동일한 소스 서드파티 라이브러리를 공유하고 사용하기 위해서 입니다. repo를 업데이트 하거나 deintegrate 명령을 통해 파일을 변경할 수 있지만 해당 lock 파일이 고정 됨으로써 모두 동일한 소스를 사용한다고 보장할 수 있습니다. 

     

    Xcode Commit


     

     

     

     Package.resolved 

    이와 비슷하게 Xcode의 Swift Package Manager(이하 SPM)를 사용하면 다음과 같이 git에 commit 할 때 포함 여부를 묻습니다. 대체적으로 userdata 같은 경우는 Xcode에 포함하지 않는 경우가 많은데 사용자 정보가 커밋 되어져서 여러 사용자가 혼란에 처할 수 있습니다. 하지만 이 파일의 경우 gitignore에 추가하면 안됩니다. 다음 경로에 위에서 말한 Podfile.lock과 비슷한 역할을 하는 Package.resolved 라는 파일이 있습니다. SPM를 추가하면 프로젝트는 자동으로 워크스페이스를 만들고 그 안에 포함되게 됩니다.

     

    project.xcworkspace > xcshareddata > swiftpm > Package.resolved

     

    이 파일은 프로젝트 workspace에 정의되어 있는 파일로 패키지 정보를 기술하는 파일입니다. 협업시 같은 패키지 버전을 사용하기 위해서는 꼭 필요합니다.

     

     

    gitignore.io

    만약 Xcode에서 어떤 파일을 ignore 해야할 지 모른다면 다음 웹사이트에서 Xcode를 추가하고 gitignore 파일을 자동 생성할 수 있습니다. 그밖에 다른 IDE에 대한 ignore도 지원하니 잘 활용하면 좋을 것 같습니다.

     

    https://www.toptal.com/developers/gitignore

     

    gitignore.io

    Create useful .gitignore files for your project

    www.toptal.com

     

     

     

     

    반응형

    댓글

    Designed by JB FACTORY