25

我的 xcode 项目在 Source Control 菜单下列出了两个存储库。其中之一是来自旧项目的存储库,不应与当前项目关联。但是,我不知道如何从项目中删除它。

注意:我已经从 Organizer 中删除了这个存储库。

截屏

任何帮助将不胜感激。

4

5 回答 5

32

我通过手动编辑.xccheckout文件来做到这一点。

以下是适合您的步骤:

  1. 退出 Xcode,并备份您的项目文件。
  2. 在 Finder 中,右键单击您的项目文件并选择“显示包内容”
  3. 右键单击该project.xcworkspace文件,然后选择“显示包内容”
  4. 在名为 的文件夹中xcshareddata,有一个带有扩展名的文件.xccheckout(它应该与您的主项目文件同名,但带有.xccheckout扩展名)
  5. 备份这个文件
  6. .xccheckout在您最喜欢的纯文本编辑器中打开文件 - 这是一个 plist。
  7. 找到IDESourceControlProjectWCConfigurations密钥,然后查找<dict>具有要删除的存储库名称的密钥。
  8. 同样<dict>有一个键IDESourceControlWCCIdentifierKey,其值包含一个看起来像 UUID 的标识符——这个字符串标识存储库。
  9. 在整个文件中搜索以 ID 作为键的键/字符串对。删除所有这些对。
  10. 删除<dict>
  11. 保存文件
  12. 在 Xcode 中重新打开项目,并确保一切正常。

如果它仍然出现,请确保项目中的所有文件都没有位于旧存储库的目录中(通过绝对文件引用)。您可以通过打开project.pbxproj项目文件中的主文件来调查这一点。

您还可以通过临时重命名旧存储库的根文件夹(在 Finder 中)来测试这一点,如果存储库不再显示在 Source Control 菜单中,那么您的项目中有一个文件位于该旧存储库中存储库。

于 2014-02-06T16:37:01.063 回答
3
  1. 关闭XCode
  2. 打开终端
  3. 导航到项目的根目录
  4. 键入find ./ -name .svn -exec rm -rf {} \;
  5. 打开您的项目

您的项目应该与所有存储库断开连接。现在您可以通过Source Control -> Configure Project.

注意:该命令搜索所有带有扩展名的文件名.svn并(递归地和强制地)删除所有文件名。

于 2015-03-31T11:18:47.503 回答
0

您必须手动从旧目录中删除 svn 文件。这将使用 svn 命令完成。您可以在下面找到命令。 如何删除文件夹的 Subversion 控制?

于 2013-09-18T11:40:41.127 回答
0

实际上,如果您在不加载任何内容的情况下启动 Xcode,然后将项目的新副本签出到新的工作区文件夹中,则不相关的存储库信息会自动从项目的本地副本中删除。

我还建议您导航到 Xcode -> Source Control -> %Repository% -> Configure %ProjectName% 并在分支面板中选择工作分支 - 只是为了确保正确初始化了 trunk|tags|branches 文件夹位置。(点击完成后,您将在 Source Control 菜单更新中看到存储库菜单项,并且子菜单将展开以提供更多选项)。

然后将 Xcode 所做的更改提交回同一个存储库就很简单了。diff 工具应该指示该 .xccheckout 文件中已更改的 XML 行,而其他内容不多。

于 2014-08-06T13:49:12.240 回答
0

对于那些他们的额外存储库是他们旧的本地模块(如本地 SPM)的人。

假设您已经从源文件中删除了原始本地包

  • 退出 Xcode
  • 删除派生数据
  • 重新打开项目

您可以从 Xcode 的首选项中找到派生的数据位置:

喜好

于 2021-03-05T12:18:34.610 回答