Destroy 命令 (Team Foundation 版本控制)

使用 tf destroy 命令終結 (或永遠刪除) Team Foundation 版本控制中版本控制的檔案。

終結動作無法還原。 您不得終結仍需要的檔案。 有時候您必須清理版本控制系統。 例如,如果某些檔案受到電腦病毒感染,您必須從版本控制中永久移除這些檔案。

在沒有 /keephistory 選項的情況下執行 tf destroy 之前,強烈建議您先刪除要終結的檔案。 如需詳細資訊,請參閱 從版本控制刪除檔案和資料夾

刪除檔案之後,您可以同步處理 Team Foundation 倉儲。 否則,倉儲將不會與終結的項目同步。

必要的使用權限

若要使用 destroy 命令,您必須屬於 [Team Foundation Administrators] 安全性群組。 如需詳細資訊,請參閱Team Foundation Server 使用權限

tf destroy [/keephistory] <itemspec1>[;<versionspec>][<itemspec2>...<itemspecN>] 
[/stopat:<versionspec>] [/preview] [/startcleanup] [/noprompt] [/silent] [/login:username,[password]] [/collection:TeamProjectCollectionUrl]]

參數

引數

描述

itemspec1 [itemspec2…itemspecN]

指定要終結之檔案或資料夾的伺服器路徑。 使用多個 itemspec 值刪除多個項目。 例如,tf destroy $/TeamProject1 $/teamProject2 $/TeamProject3。

不支援使用本機路徑。

versionspec

/keephistory/stopat 選項提供版本,如 C58。 允許的值為日期、提示或特定變更集。 如需 Team Foundation 如何剖析版本規格以便判斷哪些項目位於範圍內的詳細資訊,請參閱命令列語法 (版本控制)

username

提供 /login 選項的值。 您可以將使用者名稱值指定成網域\ 使用者名稱或使用者名稱的格式。

TeamProjectCollectionUrl

Team 專案集合的 URL (例如 http://myserver:8080/tfs/DefaultCollection),該集合包含您要終結的檔案。

選項

描述

/keephistory

選擇項。 指定儲存檔案的記錄,即使其內容已終結。 這個選項不可與 /preview 選項一併指定。

/stopat

選擇項。 只能在同時指定了 /keephistory 時使用。

指定要保存其記錄的檔案,以及該檔案之後續檔案的檔案版本。

/stopat 的預設版本為項目之最新簽入版本的提示 (T)。

您無法使用標籤或工作區 versionspec 值指定 /stopat 選項的項目。

/preview

在 [命令提示字元] 視窗中顯示可能終結的檔案。 在預覽模式中執行 tf destroy 時,不會實際終結檔案。

注意事項注意事項
[命令提示字元] 視窗中的文字會對每個可能要終結的檔案顯示「終結」字樣。不過使用 /preview 選項時,檔案不會實際終結。

/startcleanup

強制檔案內容清除程序在內容刪除完成之後立即啟動。 如果使用者未指定 /startcleanup,則終結的內容清除程序會在資料庫維護清除 Visual Studio Team Foundation Server 不再參考的所有檔案時發生。 根據預設,清除會排程每天執行一次。

/noprompt

/i

指定檔案的解構不是互動的。 /i/noprompt 的別名 (Alias)。

/silent

指定不要在您終結檔案或資料夾時,將輸出寫入 [命令提示字元] 視窗。

/login

指定使用者名稱和密碼,以便透過 Team Foundation Server 驗證使用者。

/collection

指定 Team 專案集合。

備註

當您使用 tf destroy 終結版本控制檔案時,Team Foundation Server 的應用程式層會收到終結要求,並查看您是否為 [Team Foundation Administrators] 安全性群組的成員。 如果您不是成員,則系統會顯示錯誤訊息對話方塊,表示您的權限不足,無法執行這項操作。

系統驗證您的權限之後,就會執行終結命令。 這個命令會刪除所有檔案參考、擱置集和暫止的變更。 實際的檔案終結 (也就是永久刪除) 會在下一次清除 Team Foundation Server 不再參考的內容時發生。 您也可以指定 /startcleanup 選項,以便在 tf destroy 執行之後立即清除檔案。

如果您在未指定 /i/preview 的情況下執行 tf destroy,則系統會顯示主控台 YesNo 提示每個 filespec 值。 否則,您可以指定 Yes to all。 如果您未指定 /keephistory,則會出現提示的互動文字,警告您暫止變更 (如果有的話)。 如果您需要變更的詳細資訊,互動文字會指向 /preview。 如果您指定 /keephistory,則也會提示您 YesNoAll 文字。 如果您選取 Yes or All,終結程序就會開始,而終結項目的伺服器路徑會出現在 [命令提示字元] 視窗中。

Destroyed: <serverItem1>
Destroyed: <serverItem2>
Destroyed: ...

如果您已指定 versionspec 值做為提示,則 [命令提示字元] 視窗中顯示的伺服器路徑會包含刪除 ID。 例如,X123 可能會出現在 [命令提示字元] 視窗中。

如果您使用 /preview 選項,就不會終結檔案,但是命令列文字會顯示可能要終結的檔案。 例如,如果您在命令列中輸入 tf destroy /preview $/Test1/MyProject/MyProject/Program.cs,則命令視窗會顯示下列文字:

Destroyed: $/Test1/MyProject/MyProject/Program.cs

不過,檔案實際上並不會終結,因為您使用的是 /preview 選項。

如需如何尋找 tf 命令列公用程式的詳細資訊,請參閱 Tf 命令列公用程式命令

/keephistory 在其他版本控制作業上的效果

如果您指定 /keephistory 選項保留終結檔案的記錄,則下列 Team Foundation 版本控制作業會將檔案視為已終結:

  • 變更內容:如果您嘗試變更已終結檔案的內容 (例如編輯或分支,則系統會發出錯誤訊息,表示內容已終結。

  • 分支、合併或解除擱置:如果您嘗試分支、合併或解除擱置已終結的項目,則系統會發出錯誤訊息,表示項目的內容已終結。

終結之前刪除的項目

如果項目已刪除,則會附加一個刪除 ID 至該項目,並導致檔案名稱變更。

範例

描述

以下範例將永久刪除檔案 a.cs。

程式碼

C:\pi\ws1>tf destroy $/proj/pi/a.cs

描述

以下範例將刪除資料夾 aFolder,於命令列中輸入:

程式碼

C:\tf delete $/MyTeamProject/aFolder

描述

若要終結已刪除的檔案 aFolder,您必須在命令列中輸入:

程式碼

tf destroy $/MyTeamProject/sFolder;x123

其中 x123 是刪除 ID。

請參閱

工作

終結版本控制的檔案

概念

只能從命令列執行的作業 (Team Foundation 版本控制)

其他資源

Tf 命令列公用程式命令