Iphone 如何撤消SVN上的更新

Iphone 如何撤消SVN上的更新,iphone,xcode,ios,svn,xcode4,Iphone,Xcode,Ios,Svn,Xcode4,我将SVN与Xcode一起使用。在我的工作副本中实现了某种功能之后,我准备将代码提交到存储库。但是,自上次签出后,服务器副本已被修改。所以我认为最好的做法是首先更新我的项目,解决冲突(如果有),然后提交代码。我就是这么做的。但是现在我发现我的项目中有很多错误。这些错误主要出现在我的同事一直在处理的代码部分。所以我对修改他的代码来解决错误犹豫不决。有没有办法撤消更新?由于我的代码在更新之前工作得非常好,我想继续处理它,也许在以后的阶段合并并提交我的更改。我有办法做到这一点吗 您需要从他的修订版进行

我将SVN与Xcode一起使用。在我的工作副本中实现了某种功能之后,我准备将代码提交到存储库。但是,自上次签出后,服务器副本已被修改。所以我认为最好的做法是首先更新我的项目,解决冲突(如果有),然后提交代码。我就是这么做的。但是现在我发现我的项目中有很多错误。这些错误主要出现在我的同事一直在处理的代码部分。所以我对修改他的代码来解决错误犹豫不决。有没有办法撤消更新?由于我的代码在更新之前工作得非常好,我想继续处理它,也许在以后的阶段合并并提交我的更改。我有办法做到这一点吗

您需要从他的修订版进行反向合并。查看此线程:


轻微偏离主题:厌倦了类似的问题,我的团队决定改用Mercurial,一次也不后悔。

XCode允许您将代码更新到特定版本。我不知道如何在XCode 4中做到这一点,但在XCode 3.2中,您右键单击类文件并单击“获取信息”。在信息窗口中,转到“SCM”选项卡。在那里,您将看到该类文件的所有SVN修订的列表。你应该在那里看到你同事的修改,并附上他的签入评论。选择该修订之前的修订(这是您在更新之前正在处理的修订)。XCode现在允许您更新到该版本(通过信息窗口底部的更新按钮)

对所有受错误更新影响的类文件执行这些步骤,您就可以开始了

此外,您可能应该通知您的同事不要签入错误代码,这是一种最佳做法:)

这是您应该看到的:

编辑:

对于XCode4,我做了一些研究,如果到目前为止我发现的是真的,我对XCode4中的SCM功能非常失望(请参阅:)

因此,我已经确定更新到特定修订版的功能已经从Xcode4中删除(如果我错了,我将接受更正)

但是,有一个变通方法(尽管这会导致您正在处理的文件在其旁边得到“M”标志进行修改,而不是“U”标志,这意味着您正在处理以前的修订)

在XCode4中,在顶部的工具栏上,选择查看>>编辑器>>版本

在这个编辑器中,XCode4在两个编辑器窗口中显示类文件,一个窗口显示本地版本,另一个窗口显示存储库中的最新版本

在每个编辑器窗口的底部都有一个工具栏,其中列出了您正在查看的特定修订

此工具栏可单击,并允许您将视图切换到其他版本

一旦您这样做了,恐怕您就必须将代码复制粘贴到本地类文件中

此方法将确保您使用的是代码的工作副本。然而,这可能不是正确的方法(尽管目前,这是唯一的方法)

我还有两个解决方案:

1(不推荐) 以某种方式使用XCode 3.2的副本

2(取决于您正在寻找的功能级别)
下载一份许可副本,让您将文件更新到特定版本。

在Xcode 4中似乎没有“获取信息”选项。有解决办法吗?我肯定有办法,等一下,让我看看。我在一台机器上有一个Xcode4,但我的大多数实时项目都是在3.2中构建的,所以我一直在使用它。我要去看看,因为它对我也应该有用:)我很惊讶,但我认为没有办法。请查看答案中的“我的编辑”以了解解决方法。