Xcode Source Control 显示多个工作副本

Posted

技术标签:

【中文标题】Xcode Source Control 显示多个工作副本【英文标题】:Xcode Source Control showing multiple Working Copies 【发布时间】:2015-02-15 10:45:30 【问题描述】:

Xcode 显示多个工作副本:

Working Copies
myProject - master
myProject_olderRepo
myProject_originalRepo

后两个是灰色的。

原始代码是从以前所有者的存储库中克隆到 Sourcetree 中的。不知道如何将文件移动到新的存储库中,我只是在本地复制了整个项目目录,然后开始处理它们。 然后,我将该重新设计的项目目录的内容复制到一个文件夹中,该文件夹链接到其他人可以访问的存储库。当他们克隆存储库时,由于缺少模块(两个较旧的存储库),因此会出现编译错误。

我几乎没有源代码控制和 Bitbucket 等方面的经验,所以我谦虚地请求原谅我所做的任何完全愚蠢的事情。

如何从 Xcode 的源代码管理中删除那些较旧的工作副本?或者有没有其他方法可以让其他人克隆和编译项目而不会出错?

【问题讨论】:

【参考方案1】:

通过删除下的 xccheckout 文件解决了这个问题

ProjectName.xcodeproj > project.xcworkspace > xcshareddata

这包含对以前的 repos 的引用。

【讨论】:

这解决了问题。艰难的目录不完全是你说的地方 我在 project.xcworkspace 下的唯一文件是 contents.xcworkspacedata 对我来说也一样,在 project.xcworkspace 中没有 xcshareddata 救了我一整天!!【参考方案2】:

我已经使用以下步骤删除了旧的 repo。

ProjectName.xcodeproj -> 显示包内容 project.xcworkspace -> 显示包内容 xcshareddata 使用任何文本编辑器打开 .xcscmblueprint 文件 从以下位置删除所有未请求的 repo DVTSourceControlWorkspaceBlueprintWorkingCopyRepositoryLocationsKey DVTSourceControlWorkspaceBlueprintWorkingCopyStatesKey DVTSourceControlWorkspaceBlueprintWorkingCopyPathsKey DVTSourceControlWorkspaceBlueprintRemoteRepositoriesKey 保存文件并再次打开 Xcode

注意:如果您的项目有 WorkSpace,则直接单击 ProjectName.xcworkspace 而不是 ProjectName.xcodeproj

【讨论】:

project.xcworkspace 中没有 xcshareddata ! 我也没有,有什么想法吗? 如果你的项目有 WorkSpace 然后直接点击 ProjectName.xcworkspace 而不是 ProjectName.xcodeproj 我已经删除了 .xcscmblueprint 文件并且它工作了【参考方案3】:

我正在使用 Cocoapods,并且有一个 .xcworkspace 以及我的 .xcodeproj。

这对我有用:

    在终端中使用 pod deintegrate 从项目中删除 Cocoapods。 运行pod clean 运行pod install 重新创建它。

现在,如果您再次打开工作区,其他工作副本应该不再存在。

【讨论】:

谢谢。我首先尝试了所有其他方法,但它们都不起作用。我想使用 Cocoapods 会改变一些事情。【参考方案4】:

如果您显示了 Git 存储库,那么您的项目中的某处必须有一个 *.xcscmblueprint 文件。对我来说,它在我的工作空间中,而不是在项目中。从终端窗口:

% find . -name '*.xcscmblueprint' ./TaskMe.xcworkspace/xcshareddata/TaskMe.xcscmblueprint

编辑该文件时要小心,只保留您想要的条目。或者更好的是,只需删除文件并添加回您想要的存储库。

【讨论】:

在 xcscmblueprint 文件搞砸(太久了!大声笑)之后,删除对我来说是最好的选择【参考方案5】:

不确定这里发生了什么,我有一个项目,但有两个工作副本,类似于问题。其中一个工作副本与 GitHub 上的存储库同步,我已成功将更改推送到那里。 最后,我所要做的就是完全删除我的本地文件夹,然后再次从 github 上的远程仓库中检出(克隆?)。

(我不确定,但我感觉 Xcode 和/或 Xcode 项目没有处理多个工作副本,但这是像 git 结构本身的顶层一样完成的。也许是git 的一个特性?)

【讨论】:

【参考方案6】:

如果在使用 CocoaPods 时出现此问题,请尝试:

删除 myProject.xcworkspace 删除 Pod/ 运行 pod install

【讨论】:

【参考方案7】:

Project.xcodeproj -> 显示包内容

Project.xcworkspace -> 显示包内容

xcshareddata

打开 .xcscm 蓝图文件

清理所有内容

保存文件并再次打开 Xcode

【讨论】:

【参考方案8】:

我在 XCode 的 ProjectNavigator 中有两个相同项目的实例。其中一个标有 M,另一个标有?

我要做的就是删除副本,删除标有 的项目?通过控制单击它并选择删除。

【讨论】:

【参考方案9】:

这个解决方案帮助了我。 转到终端并粘贴以下代码(这将显示隐藏文件)

defaults write com.apple.finder AppleShowAllFiles YES.

现在转到您的项目文件夹并检查您的工作项目文件夹之外是否有任何 .git 文件。

.git 位于项目文件夹之外的文件不属于您的工作项目,而是属于其他项目。 (如果您在为其他项目创建 git 时出错,这是可能的)

要么剪切粘贴此 .git 文件并将其保存到其他位置,要么您可以删除它(如果不是那么重要)。删除后,在 xcode 中重新打开您的项目。

【讨论】:

两件事。一,如果您在终端中使用它,您必须重新启动 Finder 才能使更改生效。但更重要的是,在 finder 中,只需按 COMMAND-SHIFT-PERIOD 即可打开和关闭隐藏文件。不需要终端。享受! :) 啊哈..谢谢你的信息:)【参考方案10】:

按照以下步骤操作:

1.  Open terminal and go to your project directory
2.  Run pod deintegrate in Terminal to remove Cocoapods from the project.
3.  Run pod clean
4.  Run pod install to create it again.

打开 .xcworkspace,为我工作。

【讨论】:

【参考方案11】:

我已经 fork 了一个项目,但新的 fork 仍然指向原始项目文件,所以我看到了新项目和原始项目的 Git。为了解决这个问题,我做了以下事情:

Project.xcworkspace -> Show Package Contents
contents.xcworkspacedata -> Change Path

【讨论】:

【参考方案12】:

您可能使用过其他项目文件。 (当您将文件拖到 XCode 并且忘记勾选“如果需要时复制项目”时会发生这种情况)。

结帐: Xcode git showing multiple repositories

【讨论】:

以上是关于Xcode Source Control 显示多个工作副本的主要内容,如果未能解决你的问题,请参考以下文章

解决XCode 4.x SVN无法连接的问题

Visual StudioThe project appears to be under source control, but the associated source control plu(代

AMP-Access-Control-Allow-Source-Origin 不等于当前

Xcode快捷键-总

Memory Barriers Are Like Source Control Operations

拒绝获取不安全的标头“AMP-Access-Control-Allow-Source-Origin”