我正在开发iOS项目并使用git进行版本控制。我正在与另一位开发人员合作。
我应该在repo中保留哪些Xcode项目文件,哪些可以排除,以免对其他开发人员产生负面影响?
以下是git告诉我的一些非代码文件已被修改或添加... (顺便说一句,如果您为YourProject.xcodeproj文件“显示包内容”,这些只能在OSX文件管理器中查看)
排除?
包含?
这看起来是对的吗?
(对于那些想要使用git的排除功能的人来说,只是一个FYI。在本地存储库中编辑你的.git / info / exclude文件。输入你希望git忽略的文件的文件或模式。例如,如果你想让git忽略foo.temp,bar.temp你可以在文件中加上一行代表* .temp)
答案 0 :(得分:3)
认为这是一个开始Xcode .gitignore
的好地方# Xcode
#
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
## Build generated
build/
DerivedData
## Various settings
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
## Other
*.xccheckout
*.moved-aside
*.xcuserstate
我修改了Xcode .gitignore这个我觉得它更全面。
# Xcode
#
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
## Build generated
build/
DerivedData
## Various settings
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
## Other
*.xccheckout
*.moved-aside
*.xcuserstate
*.xcscmblueprint
## Obj-C/Swift specific
*.hmap
*.ipa
# CocoaPods
#
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# http://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the- pods-directory-into-source-control
#
#Pods/
# Carthage
#
# Add this line if you want to avoid checking in source code from Carthage dependencies.
# Carthage/Checkouts
Carthage/Build
.DS_Store
.AppleDouble
.LSOverride
# Icon must end with two \r
Icon
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
上面添加了CocoaPods,Carthage和其他一些随着时间推移而出现的内容。
答案 1 :(得分:3)
sample project(www.gitignore.io)可让您指定IDE和/或语言,并向您展示量身定制的.gitignore - 非常棒的网站!
答案 2 :(得分:2)
您对包含内容的定义是正确的,否则您将丢失项目文件中的重要信息。
对于排除,我自己排除了断点和xcuserstate,但不包括xcworkspacedata,因为我认为它确实存储哪些项目是工作空间的一部分。