如何解除Xcode 5项目的工作副本与已死亡的SVN服务器的关联



我有一个Xcode 5项目的修改后的工作副本,该项目是从不再可用的远程svn服务器签出的。如何删除工作副本的svn关联并使其不受源代码管理?(最终,我想基于工作副本创建一个git存储库,并对其进行修改。)我不需要保留svn历史。

我已经尝试了一些显而易见的方法来解除svn服务器与项目的关联(例如删除工作副本中的.svn目录,以及通过工作副本目录树中的所有文件对svn服务器的名称进行grep -r搜索),但项目仍然与svn服务器相关联。我更喜欢直接对工作副本进行切换,而不是冒险创建一个与svn服务器无关的空"工作副本",然后从当前副本逐个传输文件。像svn-git这样的工具是不可行的,因为svn服务器不可用,而且我的工作副本包含重大修改。帮助

我刚才也遇到了类似的问题,我已经将我的git从github转移到了gitLabs。然而,这意味着之前的回购信息仍在我的项目中。

所以我发现,当我将gitLab repo添加到Xcode中时,SourceTree显示有一个文件被修改了。令人惊讶的是,这是保存所有工作副本服务器记录的文件。

只需导航到"您的项目".xcodeproj>(右键单击并显示包内容)>Project.xcworkspace>

右键单击文件并选择"打开方式",然后单击"更多…"。使用您喜欢的文本编辑器编辑里面的XML,或者您可以始终使用可靠的TextEdit。

旧的git/svn服务器可能位于底部,封装在<dict></dict>中。只需删除它们并在Xcode中重新加载您的项目。

我设法找到了一种方法,尽管可能不是最简单或推荐的过程。以下是让我最终实现将工作副本推送到远程git服务器的目标的原因:

  1. 通过删除.SVN文件等从工作副本中删除所有SVN信息
  2. 在远程git服务器上为项目创建一个空存储库
  3. 在Xcode的帐户中添加远程git服务器
  4. 关闭Xcode中的所有项目,然后取消选择"启用源代码管理"在Xcode首选项中;退出Xcode
  5. 将工作副本重命名为临时名称
  6. 启动Xcode,选择启用源代码管理,然后从远程git服务器将空存储库签出到具有原始工作副本名称的目录中;再次禁用源代码管理,退出Xcode
  7. 将.git目录从签出的(空的)工作副本移到原始工作副本目录(在步骤5中重命名);删除空的工作副本,并将原始工作副本重命名回其原始名称
  8. 启动Xcode并打开工作副本项目;SVN关联应该消失
  9. 重新启用源代码管理,工作副本现在应该与远程git存储库相关联,但不添加任何文件
  10. 打开实用程序检查器,注意"标识和类型"窗格的"源代码管理"区域中的"添加"按钮;单击"添加"将所有文件标记为"已添加">
  11. 像往常一样提交和推送

瞧!我的工作副本现在在git下,有一个远程git服务器关联。当然,SVN的历史已经消失了,但这对我来说并不是一个问题。必须有一个更短的食谱,但我想分享以上内容,以防它能拯救任何陷入类似困境的人。

从以下位置移除所有未回报回购

DVT资源控制工作区蓝图工作区复制存储库位置密钥DVT资源管理工作区蓝图打印工作区复制状态密钥DVT源控制工作区BlueprintWorkingCopyPathsKey DVT源控工作区蓝图远程存储库密钥

检查所有步骤步骤

最新更新