Destroy 命令 (Team Foundation 版本控制)
Azure DevOps Services |Azure DevOps Server 2022 - Azure DevOps Server 2019
Visual Studio 2019 |Visual Studio 2022
使用 tf destroy
命令,從 Team Foundation 版本控制 (TFVC) 終結或永久刪除版本控制的檔案。
注意
一旦建立 TFVC 存放庫,就不允許在 Azure Devops 內刪除它。 命令 tf destroy
只會終結或永久刪除版本控制的檔案或資料夾,但不會刪除 TFVC 存放庫。 它仍然會出現在已刪除訊息的選項清單中。
有時候您必須清除版本控制系統。 例如,如果某些檔案感染計算機病毒,您必須從版本控制中永久移除它們。 請勿終結仍然需要的檔案。 無法反轉終結動作。
在您執行 tf destroy
而不使用 [/keephistory
] 選項之前,請先刪除您想要終結的檔案。 如需詳細資訊,請參閱 從版本控制中刪除檔案和資料夾。
刪除檔案之後,您可以同步處理 TFVC 倉儲。 否則,不會與已終結的專案同步處理倉儲。
先決條件
若要使用 destroy
命令,請屬於 Team Foundation Administrators 安全組。 如需詳細資訊,請參閱 預設 TFVC 權限。
語法
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
等版本。 允許的值會 date
、tip
或特定的變更集。 如需 TFVC 如何剖析版本規格以判斷其範圍內哪些專案的詳細資訊,請參閱 使用 Team Foundation 版本控制命令。
<username>
提供值給 [/login
] 選項。 您可以將 username
值指定為 DOMAIN\username
或 username
。
TeamProjectCollectionUrl
專案集合的 URL,其中包含您要終結的檔案,例如,http://myserver:8080/tfs/DefaultCollection
。
選項
選項
描述
/keephistory
自選。 指定檔案的歷程記錄會保留,即使檔案的內容已終結也一樣。 無法使用 /preview
選項來指定此選項。
/stopat
自選。 只有在同時指定 /keephistory
時,才能使用。
指定檔案的檔案版本,以及之後保留歷程記錄的檔案。
/stopat
的預設版本是針對專案最新簽入版本 tip
(T)。
您無法使用標籤或工作區 versionspec
值來指定 /stopat
選項的專案。
/preview
顯示將在命令提示字元視窗中終結的檔案。 當 tf destroy
以預覽模式執行時,檔案實際上不會終結。
注意
命令提示字元視窗中的文字會顯示一個字 終結,且每個將會終結的檔案。 不過,使用 /preview
選項時,檔案實際上不會終結。
/startcleanup
強制 TFVC 元資料清除程式在刪除完成後立即啟動。 如果使用者未指定 /startcleanup
,當資料庫維護清除 Azure DevOps Server 不再參考的所有檔案時,就會發生損毀的元數據清除程式。 根據預設,清除會排定每五天執行一次。 清除 TFVC 元數據七天后,內容會由另一個清除程序刪除。 根據預設,此內容清除程式會每天執行一次。
/noprompt
或 /i
指定檔案的解構不是互動式的。
/i
是 /noprompt
的別名。
/silent
指定當您終結檔案或資料夾時,輸出不會寫入命令提示字元視窗。
/login
指定要使用 TFVC 驗證使用者的使用者名稱和密碼。
/collection
指定專案集合。
言論
當您使用 tf destroy
終結版本控制檔案時,TFVC 應用層會收到終結要求,並檢查您是否是 Team Foundation Administrators 安全組的成員。 如果您不是成員,系統會顯示錯誤訊息對話框,告訴您沒有足夠的許可權可執行作業。
系統驗證您的許可權之後,它會執行destroy命令。 此命令會刪除所有檔案參考、擱置集和擱置中的變更。 下次清除 Azure DevOps Server 不再參考的內容時,就會發生檔案的實際損毀,這是永久刪除。 您也可以指定 /startcleanup
選項,以在執行 tf destroy
之後立即清除檔案。
如果您在未指定 /i
和 /preview
的情況下執行 tf destroy
,系統會顯示主控台 [是] 或 [沒有每個 filespec
值的 提示。 否則,您可以將 [是] 指定為 [全部]。
如果您未指定
/keephistory
,則會以互動式文字提示,如果變更存在,則會發出警告。 如果您想要變更的詳細資訊,互動式文字會指向/preview
。如果您指定
,則 [是] 、[無 ] 或 [全部 文字][是] 提示。 如果您選取 [是] [是] 或 [[全部] 、解構程式就會啟動,且終結專案的伺服器路徑會出現在命令提示字元視窗中。
Destroyed: <serverItem1>
Destroyed: <serverItem2>
Destroyed: ...
如果您將 versionspec
值指定為 tip
,則命令提示字元視窗中顯示的伺服器路徑會包含刪除識別符。 例如,Destroyed: $/Test1/MyProject;X123
可能會出現在命令提示字元視窗中。
如果您使用 [/preview
] 選項,則不會終結檔案,但命令行文字會顯示將會終結的檔案。 例如,如果您在命令列輸入 tf destroy /preview $/Test1/MyProject/MyProject/Program.cs
,則命令視窗會顯示下列文字:
Destroyed: $/Test1/MyProject/MyProject/Program.cs
不過,因為您使用了 /preview
選項,因此實際上不會終結檔案。
如需如何使用 tf
命令行公用程式的詳細資訊,請參閱 使用 Team Foundation 版本控制命令。
/keephistory 對其他版本控制作業的影響
如果您指定 /keephistory
選項來保留已終結檔案的歷程記錄,檔案會被視為由下列 TFVC 作業終結:
變更內容。 如果您嘗試變更已終結檔案的內容,例如編輯或分支,系統會發出錯誤訊息,指出內容已終結。
Branch、merge 或 unshelve。 如果您嘗試分支、合併或取消保存已終結的專案,系統會發出錯誤訊息,指出專案的內容已終結。
終結先前刪除的專案
如果專案已經刪除,則會附加刪除標識符,並導致檔名變更。
tf destroy 對 TFVC 存放庫程式代碼搜尋的影響
程式代碼搜尋不會處理 tf destroy
通知,因此使用 TFVC 存放庫的 tf destroy
不會自動從搜尋索引中刪除檔案。 因此,這些檔案會出現在程式代碼搜尋結果中。 若要避免這些准刪除檔案案例,請在 tf destroy
作業之前刪除檔案。
例子
下列範例會永久刪除 檔案 a.cs。
tf destroy $/proj/pi/a.cs
下列範例會刪除資料夾,aFolder:
tf delete $/MyTeamProject/aFolder
若要終結已刪除的項目 aFolder,請在命令列輸入 :
tf destroy $/MyTeamProject/aFolder;x123
其中 x123
是刪除識別碼。