xcodeproj under version control

和自甴很熟 提交于 2019-12-17 15:27:42

问题


What are the best practices while including a Xcode project under version control.


回答1:


This is what is in my Global .gitignore file which you can see as a gist on GitHub, but the Xcode list can be applied to other systems

# Mac OS X
*.DS_Store

# Xcode
*.pbxuser
*.mode1v3
*.mode2v3
*.perspectivev3
*.xcuserstate
project.xcworkspace/
xcuserdata/

# Generated files
*.o
*.pyc

#Python modules
MANIFEST
dist/
build/

# Backup files
*~.nib
\#*#
.#*



回答2:


Check in project.pbxproj, ignore the user specific files.

Include shared components and third party libraries as project dependencies using submodules/externals/whatever your VCS supports instead of manually copying static library binaries without any history.

You will get merge conflicts in the project.pbxproj, be prepared to deal with this and try to minimize the difficulty of resolving them.

  • Have a consistent structure for where files should be on disk and how that maps to groups in Xcode.
  • Sort the resources included in your build targets and the order of resources within your project's groups. I really need to write a script to do this for me because it is so much easier to identify the cause of a merge conflict when you don't have to diff two random sets of files. It also avoids many merge conflicts as you're less likely to have multiple developers all appending new resources to the bottom of a list.

Check in early and often.




回答3:


In my project I have Project.xcodeproj/project.pbxproj in version control and leave out the User.mode1v3 and User.pbxuser files.

project.pbxproj seems to hold the metadata for the project, such as where the files are located and what the build settings are.

The user files would have things like what files are opened, where the cursor is, etc.

You can also refer to THIS question for what files some people have chosen to ignore.



来源:https://stackoverflow.com/questions/4683513/xcodeproj-under-version-control

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!