簡體   English   中英

如何撤消 SVN 上的更新

[英]How to undo an Update on SVN

我正在使用 SVN 和 Xcode。 在我的工作副本中實現了某些功能后,我准備將我的代碼提交到存儲庫。 但是,自從我上次結帳以來,服務器副本已被修改。 所以我認為最好的辦法是先更新我的項目,解決沖突(如果有),然后最后提交代碼。 我就是這么做的。 但是現在我發現我的項目中有一堆錯誤。 這些錯誤主要出現在我的同事一直在處理的代碼部分中。 所以我很猶豫修改他的代碼來解決錯誤。 有沒有辦法可以撤消更新? 由於我的代碼在更新之前運行良好,因此我想繼續處理它,並可能在稍后階段合並並提交我的更改。 我有辦法做到這一點嗎?

XCode 允許您將代碼更新到特定版本。 我不確定如何在 XCode 4 中執行此操作,但在 XCode 3.2 中,您右鍵單擊 class 文件並單擊“獲取信息”。 在“SCM”選項卡的信息 window、go 中。 在那里,您將看到該 class 文件的所有 SVN 修訂的列表。 您應該在那里看到您同事的修訂,並附有他的簽入評論。 Select 之前的版本(這是您在進行更新之前正在處理的版本)。 XCode 現在允許您更新到該版本(通過信息窗口底部的更新按鈕)。

對受錯誤更新影響的所有 class 文件執行這些步驟,您應該一切順利!

此外,您可能應該通知您的同事不要簽入錯誤代碼作為最佳實踐:)

這是您應該查看的內容:

在此處輸入圖像描述

編輯:

對於 XCode4,我做了一些研究,如果到目前為止發現的結果屬實,我對 XCode4 中的 SCM 功能感到非常失望(請參閱: Xcode 4 的源代碼控制中的“還原”選項在哪里?

所以我已經確定更新到特定版本的功能已經從 Xcode4 中移除(如果我錯了,我願意更正)。

但是,有一種解決方法(盡管這會導致您正在處理的文件在它們旁邊獲得“M”標志以進行修改,而不是“U”標志,這意味着您正在處理以前的修訂版)。

在 XCode4 中,在頂部工具欄上,select 查看>>編輯器>>版本。

在此處輸入圖像描述

在這個編輯器中,XCode4 在兩個編輯器 windows 中顯示您的 class 文件,一個帶有您的本地版本,另一個帶有存儲庫中的最新版本。

在每個編輯器的底部 window 是一個工具欄,列出了您正在查看的特定版本。

在此處輸入圖像描述

此工具欄是可單擊的,可讓您將視圖切換到另一個修訂版。

在此處輸入圖像描述

一旦你這樣做了,恐怕你只需將該代碼復制粘貼到你的本地 class 文件中。

此方法將確保您使用的是代碼的工作副本。 但是,這可能不是正確的方法(盡管目前,這是唯一的方法)。

我有另外兩個解決方案:

1(不推薦)

以某種方式使用 XCode 3.2 的副本

2(取決於您正在尋找的功能級別)

下載SmartSVN的許可副本,讓您可以將文件更新到特定版本。

您需要從他的修訂版中進行反向合並。 看看這個線程: http://www.svnforum.org/threads/31710-how-to-undo-merge-after-svn-update

稍微偏離主題:厭倦了類似的問題,我的團隊決定切換到 Mercurial 並且沒有后悔過一次。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM