2013-10-16 49 views
1

我的目標是讓我的代碼的「最新版本」是現有變更的。我選擇回滾,並回滾到特定的更改集,但我的代碼不會更改以反映更改集的代碼。另外,我試着爲特定變更集「獲取特定版本」,並且當我的本地代碼更改爲變更集的代碼時,TFS中表示「最新」的列顯示那些已還原的文件爲「否」 - 請參見下面的截圖。下面的截圖是「獲取特定版本」的結果:問題與回滾變更在TFS 2010

enter image description here

問題:什麼是「獲取特定版本」和「擊退」之間的區別?如果我的目標是從現有的變更集基本上將我的當前代碼基礎更改爲代碼庫,並將其作爲「最新版本」(對於TFS原因 - 我試圖使用TFS部署到我們的Web服務器,但是TFS「沒有最新版本」 - 見上面的屏幕截圖,它使用了當前最新版本,它不是我想要的 - 我希望它從之前的變更集的代碼庫中進行部署),我怎麼能去做?

回答

3

如果您「獲取特定版本」,則將您的本地工作空間版本更改爲服務器上先前版本的版本。這不會影響服務器上的最新版本。 (你當然可以,看看這條道路,並檢查它,這影響到服務器上的最新版本。)

如果「回滾」要更改服務器版本。根據您執行此操作的方式,您可能不會更改您的本地工作區版本。如果您執行「獲取最新版本」,則會同步到最新版本。

+0

這有一定道理......所以,如果我「獲取特定版本」改變我的本地工作區,然後檢查我的解決方案出來後立即將其簽入,這是有道理的,這將影響到TFS最新版本。我讀的是對的嗎? –

+1

@MikeMarks事實上,這是正確的;如果您執行了「獲取特定版本」,然後簽出並重新簽入,則最新版本的文件將反映您在以前版本中獲得的內容。這是回滾文件內容的簡單方法。但是,如果查看文件的歷史記錄,它將只顯示「編輯」的更改,而不是「更改」的更改。 –

2

如果你只是想建立/部署代碼默認的構建模板允許您指定變更號碼(或日期),並迫使它使用的代碼的舊版本的舊版本。

如果你確實需要更改TFS「當前」的代碼,那麼你可以做回退。但這聽起來像你對Rollback的理解是不正確的。它不是「回滾到此變更集」,而是「回滾此變更集中包含的更改」。

所以,如果你的最新版本是V9,你想回去V5,你需要回滾變更集v6-9。您可以突出顯示所有這些變更集中的4個,並在一次操作中將它們全部回滾。然後辦理登機手續。

這將給不是試圖對舊版本做了最好早點退房/登記入住更好的體驗。歷史將更準確地反映你所做的事情,衝突解決對話不會嘗試做錯事情(就像你做了一次然後登記/註銷一樣)。

+0

非常感謝你的描述。這完全有道理。 –