XCode不显示从源代码管理中拉出的文件

翁卡

我正在与基于Git的主存储库同步的基于Swift的XCode项目。我的一个团队成员向我拉出的母版添加了一些文件。

我在项目目录中找到了这些文件,但是在我的项目中却找不到。当我手动尝试将这些文件添加到项目中时,在这种情况下,我在我的项目上获取了Modify标记,那么我无法从master提取新更改。

这很烦人。我该如何处理。

此外,我们如何才能确保团队中的每个人都在不同的模块上分别工作,并确保每个人都能够提交/拉动彼此的更改。

带有M标签的项目文件夹禁止我们这样做。

编辑1

我也遵循了步骤

git rm -r --cached ProjectName.xcodeproj

git commit -m "Removed file that shouldn't be tracked"

即使这样做了

我对进行了更改File1.swift,而我的团队成员对进行了更改File2.swift

他已经提交了它,我想撤消这些更改,但是由于更改File1.swift我无法撤消它。为了使其起作用,我不得不放弃其中的更改File1.swift,然后只有我才能撤消那些更改。如果是这样,那么它就违反了使用的目的git

詹斯·梅德(Jens Meder)

Xcode项目文件

Xcode项目文件,或更准确地说,pbxprojxcodeproj容器内部的文件,用于跟踪所有文件(以及其他内容)。与Eclipse不同,Xcode不会监视源/项目文件夹中的更改,因此不会更新文件列表,这可能导致合并后的不一致。

合并冲突

如果您的团队成员在存储库的本地副本中添加或删除文件并将其更改推送到服务器,则他基本上会覆盖pbxproj,因此会更新Xcode项目的文件列表。如果撤消这些更改,则有两种可能的情况:

  1. Git可以自动合并更改,这通常意味着它将保留pbxproj文件副本而不包含更新的文件引用。

  2. Git无法合并更改,因此表明您需要解决自己的合并冲突。根据差异和更改的数量,这些合并冲突可能会很烦人。有时,删除pbxproj文件副本,从服务器使用副本并重新应用本地更改(例如添加文件引用)可能会更容易

在这两种情况下,您可能都需要将pbxproj文件与服务器上的文件进行比较,然后手动合并。是的,您的项目文件将标记为M(完全修改)(完全可以修改)。只需提交更改,您就可以再次进行。

还有一件事:每当您想从git服务器中提取更改时,都可以存储更改(git stash)或提交更改

避免合并冲突

如果希望将来避免合并冲突,建议您看一下以下工具。

椰子足

通过创建私有Pod,Cocoapods可用于将您的项目模块化为较小的部分。这种技术的好处:您不必跟踪新添加或删除的文件。只需运行pod update,您就可以重新运行。有几篇博客文章详细介绍了此技术,例如,在这里

凤凰

在我以前的公司中,我们有一个非常庞大的代码库,使用Cocoapods时遇到了一些麻烦。因此,我们开发了自己的名为的元构建系统phoenxPhoenx可以生成任意复杂度的Xcode项目和工作区设置。它使用元数据文件(诸如Podfiles和Podspecs之类的东西)来生成项目等。构建设置将存储在xcconfig文件中。目前它不提供任何设置工具,因此您必须花费一些时间来手工编写xcconfig和元数据文件。不过,我们正在研究一种更方便的方式来使用它。如果您想尝试一下,可以通过安装它sudo gem install phoenx文档可在GitHub找到

希望对您有所帮助!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用Projucer创建Xcode项目-源代码管理不显示修改后的文件

Xcode版本10.0(10A255)-在源代码管理菜单中不显示与项目连接的svn(subversion)

我的xcode显示在源代码管理中同时打开两个分支

godoc不显示源代码

Xcode:禁用源代码管理

Xcode源代码管理-推送加载中的本地更改

Xcode 源代码控制提交窗口显示没有文件

显示源代码控制差异界面的 Xcode Storyboard 文件

源代码管理中缺少Android Studio项目文件

在源代码管理中包括外部文件夹

Virtualenv在源代码管理中

XCode源代码管理状态不断刷新

如何在Xcode 5中将新项目添加到源代码管理中?

当状态代码在单独的文件中定义时,Listview 不显示

Python不显示导入文件中的代码更改

xcode 9中的源代码管理->历史菜单在哪里?

在xCode 9.0中找不到SVN源代码管理存储库选项

从源代码安装时,GNU Parallel不显示颜色

Cachegrind的cg_annotate不显示我的源代码的注释

使用list命令时,GDB不显示源代码

源代码文件的图标在Ubuntu文件管理器中不正确

VSCODE 中的源代码管理未显示我要添加到暂存状态的更改

Xcode>源代码管理>创建Git存储库

如何在Xcode源代码管理中使用GPG签名?

已经存在的项目xCode 5的源代码管理

如何删除项目中的源代码管理(Xcode)

从源代码管理中丢失后如何生成新的.pfx文件?

哪些文件要检入sbt / activator项目的源代码管理中?

供应商文件夹应该在源代码管理中吗?