当Git与Xcode一起使用时,我应该在.gitignore中包含哪些文件?


当前回答

大多数答案都来自Xcode 4-5时代。我建议使用现代风格的ignore文件。

# Xcode Project
**/*.xcodeproj/xcuserdata/
**/*.xcworkspace/xcuserdata/
**/.swiftpm/xcode/xcuserdata/
**/*.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
**/*.xcworkspace/xcshareddata/*.xccheckout
**/*.xcworkspace/xcshareddata/*.xcscmblueprint
**/*.playground/**/timeline.xctimeline
.idea/

# Build
Scripts/build/
build/
DerivedData/
*.ipa

# Carthage
Carthage/

# CocoaPods
Pods/

# fastlane
fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots
fastlane/test_output
fastlane/sign&cert

# CSV
*.orig
.svn

# Other
*~
.DS_Store
*.swp
*.save
._*
*.bak

请从https://github.com/BB9z/iOS-Project-Template/blob/master/.gitignore更新

其他回答

最棒的是,

gitignore.io

去选择你的语言,然后它就会给你文件。

添加一个.gitignore文件

Mac OS x+xcode+swift

这是我如何将.gitignore文件添加到我的Swift项目:

在Xcode中选择你的项目,右键点击→新建组→命名为Git 选择Git文件夹,右键单击→添加新文件 在iOS选项卡中→选择其他→空文件

在这里输入文件名"。gitignore"

确认文件名称和类型

下面是结果结构:

打开该文件并跳过下面的代码


# file

#########################################################################
#                                                                       #
#       Title         - .gitignore file                                 #
#       For           - Mac OS X, Xcode 7 and Swift Source projects     #
#       Updated by    - Ramdhan Choudhary                               #
#       Updated on    - 13 - November - 2015                            #
#                                                                       #
#########################################################################

########### Xcode ###########
# Xcode temporary files that should never be committed

## Build generated
build/
DerivedData

# NB: NIB/XIB files still exist even on Storyboard projects, so we want this
*~.nib
*.swp

## Various settings
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata

## Other
*.xccheckout
*.moved-aside
*.xcuserstate
*.xcscmblueprint
*.xcscheme

########### Mac OS X ###########
# Mac OS X temporary files that should never be committed

.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

########## Objective-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:
# https://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

# fastlane
#
# It is recommended to not store the screenshots in the Git repository. Instead, use fastlane to re-generate the

fastlane/report.xml
fastlane/screenshots

嗯,多亏了亚当。他的回答帮助了我很多,但我仍然需要添加更多的条目,因为我想要一个.gitignore文件:

Mac OS x+xcode+swift

参考资料:this和this

我们确实发现,即使你添加。gitignore和。gittribte *。Pbxproj文件可能被损坏。所以我们有一个简单的计划。

在办公室编码的每个人都简单地丢弃了对这个文件所做的更改。在提交中,我们简单地提到了添加到源代码中的文件。然后推送到服务器。我们的集成管理器会查看提交细节,并将文件添加到资源中。

一旦他更新了远程,每个人都会有一个工作副本。如果少了什么,我们会通知他把它加进去,然后再拉一次。

这对我们来说没有任何问题。

GitHub的人们为Xcode项目提供了详尽的。gitignore文件:

斯威夫特:https://github.com/github/gitignore/blob/master/Swift.gitignore

objective - c: https://github.com/github/gitignore/blob/master/Objective-C.gitignore

我建议使用joe生成一个.gitignore文件。

对于iOS项目,执行如下命令:

$ Joe g osx,xcode > .gitignore

它会生成。gitignore:

.DS_Store
.AppleDouble
.LSOverride

Icon
._*

.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns

.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

build/
DerivedData

*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata

*.xccheckout
*.moved-aside
*.xcuserstate