Team Foundation Server的回滚操作
VSTF Rollback 操作
最近遇到要把有些項目需要做回滾操作,發現TFS的UI上沒有回滾的操作。
經過百度,查到一個CSDN上的博主發了一種方法,經過驗證,那種方法是錯誤的:
他通過先獲取指定變更集-》簽出-》簽回去,以達到回滾的目的。
表面上看是挺合理的,但是如果其中要回滾到的變更集有刪除操作,那就會導致一些錯誤了。
例如:變更集5中的一個文件test.cs,我將其刪除,簽入(變更集6)。然后再獲取變更集5的test.cs,再簽入(變更集7)。這時,變更集7中的test.cs便不能匹配到變更集5中的test.cs,因此,如果你查看test.cs的歷史記錄,只會有變更集7,之前的版本只能通過到上級目錄檢索到。
而且還會導致一些其他的異常。說了這么多,那正確的方法應該怎么做呢?
應該需要先下載Team foundation Server Power Tools:
下載地址:http://www.microsoft.com/downloads/details.aspx?FamilyId=FBD14EEA-781F-45A1-8C46-9F6BA2F68BF0&displaylang=en
https://marketplace.visualstudio.com/items?itemName=TFSPowerToolsTeam.MicrosoftVisualStudioTeamFoundationServer2015Power
使用里面命令行的方式來回滾,微軟將一些危險的操作都放在了命令行里面,例如銷毀操作,強制簽入操作等。這些應該由熟悉TFS的管理員來操作,這樣能避免帶來一些不必要的損失。
回滾使用的是power tools中的tfpt rollack命令。tfpt需要運行在powershell中。
具體步驟:
1.先在Team Explorer中將要回滾的工作區映射到本地
2.打開開始菜單中power tools里的powershell
3.使用cd命令導航到你映射到的目錄,例如cd c:\project1 (假如你將項目映射到c:\project1目錄)
4.輸入tfpt rollback,它會提示你是否獲取最新版本,選YES
5.選擇要回滾的變更集(注意:這個是你要撤銷操作的變更集)
6.回滾之后,還必須執行簽入操作,回滾在被提交到服務器。
注意事項:
執行rollback的時候必須保證所有本工作區中的項目沒有掛起更改,不單單是你要回滾的目錄下的內容沒有掛起哦。否則,你就會收到如下信息:
Cannot proceed because you have pending changes in your workspace. You must move
?to a shelveset, undo, or check in all pending changes before reverting a change
set.
?
唉。。。不知道微軟是為了那根筋出問題了,堂堂TFS竟然連rollback功能都沒有,只能用Team Foundation PowerToys,通過命令行或者GUI界面(部分命令)來擴展VSTF的功能,可以從MS官方網站下載.
?-----------------下面是網上找到的用法-------------------
這里要注意的是在運行TF命令時,需要先用CD跳轉到一個workspace里,同時要在環境系統變量Path中設置好TFPT的路徑。這樣的話TF命令才能找到一個workspace。
?
Team Foundation Server Power Tools
接下來要介紹的是一組幾乎對每個團隊都具有巨大價值的實用程序:Visual Studio Team System 2008 Team Foundation Server Power Tools (go.microsoft.com/fwlink/?LinkId=120836)。按照發布時間,2008 年 3 月的版本是最新版本。
這 組工具包括 TFPT.exe、Visual Studio Team System Process Editor、Team Foundation Server Best Practice Analyzer、工作項模板、自定義簽入策略、Build Notification 小程序以及 TFSServerManager 客戶端。下載內容中包括一個詳細的 Microsoft??Word 文檔,該文檔介紹了這些工具的目錄以及使用方法。
TFPT.exe 是一個位于 %Program Files%\Microsoft Team Foundation Server 2008 Power Tools 中的命令行工具。它可以擴展主要用于處理 TFS 的版本控制子系統的內置 TF.exe 命令行工具。它當前支持 19 個命令(參見圖 2)。
?圖 2 TFPT.exe 命令
| tfpt annotate | 逐行顯示文件的更改信息。 |
| tfpt bind | 將 VSS 綁定解決方案轉換為 TFS 綁定解決方案。 |
| tfpt changedocurl | 更新有關 TFS 綁定的 Office 文檔的服務器信息。 |
| tfpt createteamproject | 創建團隊項目。 |
| tfpt destroygl | 銷毀全局列表。 |
| tfpt destroywi | 銷毀一個或多個工作項。 |
| tfpt destroywitd | 銷毀工作項類型及其中的工作項。 |
| tfpt getcs | 僅獲得特定變更集中的更改。 |
| tfpt history | 顯示項目的歷史記錄。 |
| tfpt online | 掛起對可寫文件的添加、編輯和刪除操作。 |
| tfpt query | 查詢工作項。 |
| tfpt review | 審核(區別/查看)工作區更改。 |
| tfpt rollback | 掛起更改以回滾變更集。 |
| tfpt treeclean | 刪除不在版本控制下的文件。 |
| tfpt tweakui | 增強客戶端連接到 TFS 的方式。 |
| tfpt unshelve | 取消擱置掛起的更改到工作區中。 |
| tfpt uu | 撤消對工作區中未更改的文件的更改。 |
| tfpt workitem | 創建、更新或查看工作項。 |
| tfpt workspace | 更新工作區。 |
根 據您選擇的命令,您可能需要提供其他參數,而且,其中一些命令(如 rollback 命令)會在您執行該命令后提供 GUI 體驗。請注意,其中很多命令需要您執行已映射到 TFS 工作區的文件夾中的工具。您希望修改路徑,以便輕松地從任一本地工作區執行 TFPT.exe。
如 果您已使用 Team System 很長一段時間,則可能會注意到一個新命令:createteamproject。對于某些用戶來說,可能期待它很久了。最需要注意的一點是:安裝 Visual Studio 2008 客戶端時必須應用 SP1 才能正常執行此命令。在使用過程中,我發現非常有用的其他命令包括 rollback、treeclean 和 workspace。您可以親身體驗一下。
還有很多與 Team Foundation Server Power Tools 中的版本控制有關的精華內容。首先是自定義簽入策略包。我曾在 2007 年 11 月這一期的《MSDN??雜志》中詳細介紹了簽入策略 (msdn.microsoft.com/magazine/cc163320)。它可以向您的安裝中添加很多有用的簽入策略。其中 Custom Path 策略和 Changeset Comments 策略是我在工作中必不可少的兩個策略。
其 次,您會在 Visual Studio 中發現很多增強功能。Microsoft 在 TFS 2008 中添加了一些 Team Foundation Server 2005 Power Tools 的增強功能,例如注釋功能。但是,其他一些好東西仍然需要 Power Tool。例如,您可以從 Source 命令中獲得“查找”功能、Quick Label 功能,以及一個很簡單但相當受歡迎的功能,該功能用于在“Windows 資源管理器”中打開“源代碼管理資源管理器”中所選的文件夾(參見圖 3)。
?
圖 3?在 Windows 資源管理器中打開文件夾(單擊圖像可查看大圖)
每 次創建團隊項目都要指定一個過程模板。Microsoft 提供了兩個現成模板。盡管如此,不止一個客戶希望修改這兩個基本過程模板。大多數團隊需要將附加字段添加到其部分工作項中,或希望將自己的公司徽標添加到 報表中、將 Bug(錯誤)工作項的名稱更改為 Defect(缺陷),或者將自己的文檔添加到 SharePoint 過程指南中。
Microsoft 做了大量努力來公開擴展性點以啟用這些類型的自定義項。但是,現成體驗確實還需要改進,除非您專門從事編輯過程模板的工作。如果沒有 Power Tool,您必須將過程模板下載到您的本地磁盤,將其置于版本控制下,才能開始編輯這些文件。
您 可以使用類似于 Business Intelligence Development Studio 中提供的優秀的 GUI 設計器編輯部分文件,例如報表定義文件。但是,對于其他文件類型(如過去常見的工作項類型定義文件),則需要使用記事本或收藏夾 XML 編輯器并開始刪除尖括號。如果您是第一次修改過程模板,則這不會是最佳體驗。
幸 運的是,Power Tool 中包含一個過程模板編輯器。安裝完成后,您可以在“Visual Studio 工具”菜單中找到“過程編輯器”菜單命令。此工具允許您在磁盤上編輯下載模板的組件(您也可以編輯一些項目,如聯機工作項類型定義,但我一般不建議這樣 做)。例如,您可以從 Microsoft Solutions Framework for Agile Software Development 版本 4 模板中打開“方案”工作項類型,在提供該方案描述的功能后,定義一個可跟蹤所選選項的新字段,然后將此字段添加到工作項布局,然后預覽該更改(參見圖 4),在此過程中不會看到任何 XML。
?
圖 4?修改方案工作項類型定義(單擊圖像可查看大圖)
也 就是說,隨著您逐漸適應修改過程模板,您可能會發現直接編輯 XML 文件更方便。值得高興的是,Process Editor 也會有所幫助。在大多數屏幕上,您可以看到“查看 XML”按鈕,該按鈕會顯示與您編輯的特定功能相關的 XML 片斷。2008 年 3 月版中一個突出的增強功能是編輯器中的更新支持,它可以向工作項類型定義添加自定義控件。在此版本之前的版本中,如果您打開使用自定義控件的工作項類型定 義,會出現錯誤提示。
Power Tool 中另一個與工作項相關的功能是工作項模板。您可以為特定工作項類型創建一個包含公用默認項目的工作項模板。然后當您需要打開新的錯誤(例如選擇該模板) 時,它將為您預填充該工作項。2008 年 3 月版中的增強功能包括在“團隊資源管理器”窗口中包含自身節點的工作項模板。
在 過去的這些年里,Brian Harry 在自己的博客中發布了與 Microsoft 使用 TFS 相關的統計數據。這些發布內容包括版本控制下的項目數量、服務器運行時間以及用戶數量等數據。在 2008 年 3 月版中,Brian 公開了自己用來收集這些數據的工具,就是 TFSServerManager 客戶端。此工具提供了一種簡單的方法,可以為您的開發團隊收集自己的有關使用 TFS 的統計數據。
Team Foundation Server Best Practices Analyzer 是一種診斷工具,可從 TFS 部署中收集配置信息并對其進行測試。然后,它使用特定規則分析該信息,然后以信息、警告或錯誤消息的形式向您返回結果。除此之外,它還提供文章鏈接以幫助 您解決所有警告和錯誤。
此 工具無論作為預安裝步驟還是幫助您維護并監視 TFS 安裝都很有用。您會發現此工具附帶一個 Windows 幫助文件形式的文檔 (TfsBpa.chm)。不過,只有先安裝 Windows PowerShell? 后,才能安裝 Best Practices Analyzer。
最 后,我們討論與 Team Build 相關的 Build Notification Power Tool。此工具在 Windows 任務欄的通知區域運行。您可以將其配置為監視 TFS 安裝中的特定構建定義集,然后讓它通知您遇到的各種事件,包括構建何時排入隊中、何時開始或完成。當其中一個事件發生時(如某一個構建開始排隊等候),屏 幕右下角將出現一條消息(參見圖 5)。
?
圖 5?新構建的通知
總結
以上是生活随笔為你收集整理的Team Foundation Server的回滚操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android 对话框白色样式,Andr
- 下一篇: 美债规模逼近27万亿美元,新一轮债务扩张