我应该在版本控制中存储Xcode项目的哪些文件?

时间:2015-08-08 07:12:37

标签: xcode git github version-control

我是Xcode的新手,刚刚发现它在项目目录中存储了大量用户信息和其他东西,我在版本控制中并不需要这些东西,或者想在Github上放置。 这就是Xcode项目基本上的样子:

 1 AppName/
 2 ├── AppName
 3 │   ├── Base.lproj
 4 │   │   ├── LaunchScreen.xib
 5 │   │   └── Main.storyboard
 6 │   ├── Images.xcassets
 7 │   │   └── AppIcon.appiconset
 8 │   │       └── Contents.json
 9 │   ├── AppDelegate.swift
10 │   ├── Info.plist
11 │   └── ViewController.swift
12 ├── AppName.xcodeproj
13 │   ├── project.xcworkspace
14 │   │   ├── xcuserdata
15 │   │   │   └── user1.xcuserdatad
16 │   │   │       └── UserInterfaceState.xcuserstate
17 │   │   └── contents.xcworkspacedata
18 │   ├── xcuserdata
19 │   │   └── user1.xcuserdatad
20 │   │       └── xcschemes
21 │   │           ├── AppName.xcscheme
22 │   │           └── xcschememanagement.plist
23 │   └── project.pbxproj
24 └── AppNameTests
25     ├── AppNameTests.swift
26     └── Info.plist

我倾向于提交AppName/AppNameTests/并排除AppName.xcodeproj/目录。建议的方法是什么?

3 个答案:

答案 0 :(得分:1)

您希望使用.gitignore文件来指定您不希望存储在GitHub中的文件。

Here is how to create the filehere's what should go in that .gitignore file

答案 1 :(得分:0)

更好的问题是我的git ignore文件应该包含哪些内容。这是包含您需要的文件的github repo的链接

https://github.com/github/gitignore/blob/master/Global/Xcode.gitignore

请确保您从此文件开始,以便正确忽略文件,因为如果您没有添加某些文件,则必须手动将其删除。

答案 2 :(得分:0)

“推荐方式”实际上取决于您对项目的要求。通常,有三种选择:

  • 仅签入必要构建项目的文件
  • 添加反映开发自定义的文件(例如在编辑器中存储当前可见文件名称的项目文件)
  • 生成文件,以生成项目状态的完整快照。

使用最后一个,你可以解决时间戳问题(虽然git可以被告知了解提交时间的一些事情 - 请参阅 Checking out old file WITH original create/modified timestamps - 很少有人这样做)。如果没有使用原始时间戳检索文件的系统,那么每次执行提交时都需要一组需要重新编译的文件。

如果将文件移动到文件系统的另一部分(或尝试与其他人共享文件),即使保存自定义文件也可能会出现问题。

所以...使用.gitignore过滤掉不需要构建的文件。但请检查您是否可以使用新结帐成功构建。