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


当前回答

关于“build”目录排除-

如果您将构建文件放在与源文件不同的目录中,就像我所做的那样,您不必担心树中的文件夹。

这也使得共享代码变得更加简单,防止臃肿的备份,甚至当你依赖于其他Xcode项目时(同时要求构建彼此位于相同的目录中)。

你可以从Github gist https://gist.github.com/708713获取最新的拷贝

我当前的。gitignore文件是

# 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

其他回答

我补充说:

xcuserstate
xcsettings

并将我的.gitignore文件放在项目的根目录下。

在承诺和推动之后。然后我跑了起来:

git rm --cached UserInterfaceState.xcuserstate WorkspaceSettings.xcsettings

埋藏在下面的文件夹:

<my_project_name>/<my_project_name>.xcodeproj/project.xcworkspace/xcuserdata/<my_user_name>.xcuserdatad/

然后我再次运行git commit和push

对于Xcode 5,我添加:

####
# Xcode 5 - VCS metadata
#
*.xccheckout

选自Berik的答案

最棒的是,

gitignore.io

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

关于“build”目录排除-

如果您将构建文件放在与源文件不同的目录中,就像我所做的那样,您不必担心树中的文件夹。

这也使得共享代码变得更加简单,防止臃肿的备份,甚至当你依赖于其他Xcode项目时(同时要求构建彼此位于相同的目录中)。

你可以从Github gist https://gist.github.com/708713获取最新的拷贝

我当前的。gitignore文件是

# 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

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

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

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

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