我的 xcode 项目在 Source Control 菜单下列出了两个存储库。其中之一是来自旧项目的存储库,不应与当前项目关联。但是,我不知道如何从项目中删除它。
注意:我已经从 Organizer 中删除了这个存储库。
任何帮助将不胜感激。
我通过手动编辑.xccheckout
文件来做到这一点。
以下是适合您的步骤:
project.xcworkspace
文件,然后选择“显示包内容”xcshareddata
,有一个带有扩展名的文件.xccheckout
(它应该与您的主项目文件同名,但带有.xccheckout
扩展名).xccheckout
在您最喜欢的纯文本编辑器中打开文件 - 这是一个 plist。IDESourceControlProjectWCConfigurations
密钥,然后查找<dict>
具有要删除的存储库名称的密钥。<dict>
有一个键IDESourceControlWCCIdentifierKey
,其值包含一个看起来像 UUID 的标识符——这个字符串标识存储库。<dict>
如果它仍然出现,请确保项目中的所有文件都没有位于旧存储库的目录中(通过绝对文件引用)。您可以通过打开project.pbxproj
项目文件中的主文件来调查这一点。
您还可以通过临时重命名旧存储库的根文件夹(在 Finder 中)来测试这一点,如果存储库不再显示在 Source Control 菜单中,那么您的项目中有一个文件位于该旧存储库中存储库。
find ./ -name .svn -exec rm -rf {} \;
。您的项目应该与所有存储库断开连接。现在您可以通过Source Control -> Configure Project
.
注意:该命令搜索所有带有扩展名的文件名.svn
并(递归地和强制地)删除所有文件名。
您必须手动从旧目录中删除 svn 文件。这将使用 svn 命令完成。您可以在下面找到命令。 如何删除文件夹的 Subversion 控制?
实际上,如果您在不加载任何内容的情况下启动 Xcode,然后将项目的新副本签出到新的工作区文件夹中,则不相关的存储库信息会自动从项目的本地副本中删除。
我还建议您导航到 Xcode -> Source Control -> %Repository% -> Configure %ProjectName% 并在分支面板中选择工作分支 - 只是为了确保正确初始化了 trunk|tags|branches 文件夹位置。(点击完成后,您将在 Source Control 菜单更新中看到存储库菜单项,并且子菜单将展开以提供更多选项)。
然后将 Xcode 所做的更改提交回同一个存储库就很简单了。diff 工具应该指示该 .xccheckout 文件中已更改的 XML 行,而其他内容不多。
对于那些他们的额外存储库是他们旧的本地模块(如本地 SPM)的人。
假设您已经从源文件中删除了原始本地包
您可以从 Xcode 的首选项中找到派生的数据位置: