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

22 浏览
0 Comments

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

我对Xcode还不熟悉,刚刚发现它在项目目录中存储了一堆用户信息和其他东西,我不需要在版本控制中保存,也不想放到Github上。一个Xcode项目大致是这样的:\n 1 AppName/\n 2 ├── AppName\n 3 │   ├── Base.lproj\n 4 │   │   ├── LaunchScreen.xib\n 5 │   │   └── Main.storyboard\n 6 │   ├── Images.xcassets\n 7 │   │   └── AppIcon.appiconset\n 8 │   │   └── Contents.json\n 9 │   ├── AppDelegate.swift\n10 │   ├── Info.plist\n11 │   └── ViewController.swift\n12 ├── AppName.xcodeproj\n13 │   ├── project.xcworkspace\n14 │   │   ├── xcuserdata\n15 │   │   │   └── user1.xcuserdatad\n16 │   │   │   └── UserInterfaceState.xcuserstate\n17 │   │   └── contents.xcworkspacedata\n18 │   ├── xcuserdata\n19 │   │   └── user1.xcuserdatad\n20 │   │   └── xcschemes\n21 │   │   ├── AppName.xcscheme\n22 │   │   └── xcschememanagement.plist\n23 │   └── project.pbxproj\n24 └── AppNameTests\n25 ├── AppNameTests.swift\n26 └── Info.plist\n\n我倾向于只提交AppName/AppNameTests/目录,而排除AppName.xcodeproj/目录。这么做有什么推荐的方法吗?

0
0 Comments

什么文件应该存储在版本控制中的Xcode项目中?

“推荐的方法”实际上取决于你想要对项目做什么。通常有三种选择:

- 仅提交那些构建项目所必需的文件。

- 添加反映开发自定义的文件(例如存储编辑器中当前可见文件名称的项目文件)。

- 生成的文件,以便完整地快照项目状态。

对于最后一种情况,你可能会遇到时间戳的问题(虽然可以告诉Git了解提交时间--参见“使用原始创建/修改时间戳检出旧文件”--但很少有人这样做)。如果没有一个检索文件使用它们原始时间戳的系统,每次提交都需要重新编译一组文件。

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

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

0
0 Comments

什么文件应该存储在版本控制中的Xcode项目中?

当使用版本控制系统(如Git)管理Xcode项目时,需要确定哪些文件应该存储在版本控制中。这是因为Xcode项目中存在许多自动生成的文件和文件夹,这些文件和文件夹不应该被包含在版本控制中,因为它们在不同的开发环境中可能有所不同。

为了解决这个问题,一个更好的做法是创建一个.gitignore文件。这个文件告诉Git哪些文件应该被忽略,不包含在版本控制中。GitHub上有一个名为"Xcode.gitignore"的仓库,可以作为一个起点,它包含了应该被忽略的Xcode项目文件的列表。你可以在这个链接中找到这个文件:https://github.com/github/gitignore/blob/master/Global/Xcode.gitignore

确保从这个文件开始,这样文件才会被正确地忽略。如果你没有从这个文件开始,可能会导致一些文件已经被添加到版本控制中,你需要手动将它们移除。

通过使用.gitignore文件,可以避免将不必要的文件包含在版本控制中,从而减少仓库的大小和不必要的冲突。这样,开发团队在协作开发时就可以更好地管理项目,并减少不必要的冲突和问题。

所以,当管理Xcode项目时,确保使用.gitignore文件来确定哪些文件应该存储在版本控制中,以便更好地管理项目并避免不必要的问题。

0
0 Comments

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

问题的原因是,为了有效地使用版本控制系统(如GitHub),我们需要了解应该将哪些文件存储在版本控制中,以及哪些文件不应该存储。

解决方法是使用.gitignore文件来指定不想存储在GitHub中的文件。可以通过以下链接了解如何创建.gitignore文件:创建.gitignore文件,以及在.gitignore文件中应该包含哪些内容:.gitignore文件的内容

以下是.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

*.moved-aside

*.xccheckout

*.xcuserstate

## Obj-C/Swift specific

*.hmap

*.ipa

*.dSYM.zip

*.dSYM

*.swiftmodule

*.xcframework

通过使用上述提及的.gitignore文件,我们可以指定不希望存储在版本控制中的文件,从而更好地管理Xcode项目。

0