Get 命令
從 Team Foundation 版本控制 伺服器擷取檔案的唯讀複本到工作區,並在磁碟上建立資料夾以包含該檔案複本。
必要的使用權限
若要使用 get 命令,您必須將每一個已擷取項目的 [讀取] 權限設定為 [允許],而且您必須擁有目標工作區或 [管理工作區] 權限。 如需詳細資訊,請參閱Team Foundation Server 使用權限。
tf get [itemspec] [/version:versionspec] [/all] [/overwrite] [/force]
[/preview] [/recursive] [/remap] [/noprompt] [/login:username,[password]]
參數
引數 |
描述 |
---|---|
Itemspec |
要擷取的檔案或資料夾。 如果沒有提供項目規格,Team Foundation Server 就會對目前工作區中相對應的所有項目執行遞迴取得作業。
注意事項
您可以指定一個以上的 Itemspec 引數。
|
Versionspec |
/version 選項的使用者提供值。 如需 Team Foundation Server 如何剖析版本規格以便判斷哪些項目位於範圍內的詳細資訊,請參閱命令列語法 (版本控制)。 |
username |
提供 /login 選項的值。 您可以將使用者名稱值指定成網域\ 使用者名稱或使用者名稱的格式。 |
選項 |
描述 |
---|---|
/version |
選擇性版本規格。 版本規格是您要擷取之項目的版本。 您可以藉由下列各項指定版本:
|
/all |
強制擷取所有檔案,而不只是過時的檔案。 |
/overwrite |
覆寫尚未簽出的可寫入檔案。 |
/force |
結合 /all 和 /overwrite。 |
/preview |
顯示可能發生的狀況,而不需實際執行 Get 作業。 |
/recursive |
以遞迴方式擷取符合 itemspec 的所有項目。 |
/noprompt |
隱藏在進行此作業期間會顯示的任何對話方塊。 |
/remap |
更新伺服器上的本機對應,如果您已經從另一個分支下載相同的檔案,則加快重新下載檔案。
注意事項
當您沒有複雜的本機對應,並且經常必須在分支之間切換時,最適合使用這個選項。
|
/login |
指定使用者名稱和密碼,以便透過 Team Foundation Server 驗證使用者。 |
備註
get 命令會將項目從伺服器擷取到工作區中。 如果沒有提供其他版本,就會擷取最新的伺服器版本。
如果您在小組開發環境中工作,get 會是您最常使用的命令,因為取得目前專案中的每個檔案會與您的小組進行同步處理,並會確保您有最新的共用工作複本。 get 命令不會覆寫已在本機目錄中簽出的檔案。 您在共同作業工作環境中執行 get 命令的次數越頻繁,您的 Team 擁有的本機檔案就越新。 這是因為 get 作業會用已經由您的小組成員簽入伺服器的變更,來填入本機工作區中。 如果您藉由執行 get 作業,將您的工作區保持在最新狀態,每當您看到簽入通知 (例如,來自於專案警示),都可以快速地解決您的專案版本與伺服器專案版本之間的差異。 當您簽入暫止變更時,可以避免進行可能不容易與伺服器協調的變更。
在 get 作業期間,如果您的工作區版本與要求的伺服器版本相同,除非指定 /all 選項,Team Foundation Server 都不會取代磁碟上的檔案。 您可以使用 /overwrite 選項以指定的伺服器版本強制覆寫可寫入的目前工作區版本,以在工作區難以管理時將其還原到一致的狀態,例如有時當您刪除或不小心覆寫磁碟上的多個檔案時。 當您傳遞 /force 選項時,Team Foundation Server 會以最新的伺服器版本覆寫工作區中所有簽出的項目,除非您提供特定的版本。
當您執行 get 作業時,Team Foundation Server 會刪除本機工作區中任何簽入的檔案 (自您上次將工作區與伺服器版本同步之後,已經從伺服器刪除這些檔案)。 已經重新命名或在伺服器上移動的檔案,都會在磁碟機上重新定位以符合伺服器上的變更。
您可以使用 /preview 選項來發出 get 命令,而不需要更新本機工作區來查看如果執行實際取得作業會發生的情況。
簽出作業並不會在簽出的檔案上,執行取得最新複本的作業
身為在工作區中工作的程式開發人員,您與其他程式開發人員所做的變更會相互隔離。 您可以控制想要接受其他程式開發人員所做變更的時機,只要視情況執行取得作業即可。 在理想的情況下,您可以更新版本控制檔案的完整組態,而不只是一個或兩個檔案,因為一個檔案中的變更通常會依靠其他檔案的對應變更。 您必須確定您具有一致的版本控制檔案快照集,可用於組建和測試。
因此,簽出作業並不會在簽出的檔案上執行取得最新複本的作業。 更新一個簽出的檔案會違反一致的快照,並且會給您無法建構或測試的版本控制檔案組態。 或者,Team Foundation Server 會強制您在簽入變更之前,於某個時間點執行取得最新複本作業,以便當您嘗試簽入變更卻沒有最新的複本時,就會被解決衝突對話方塊所提示。
您也可以設定 Team Foundation Server 自動取得簽出的最新資訊。 如需詳細資訊,請參閱進行簽出設定。
如需如何尋找 tf 命令列公用程式的詳細資訊,請參閱 Tf 命令列公用程式命令。
Get 處理序
當您對已經從工作區簽出的項目發出 get 命令,而且伺服器的版本已經變更時,系統就會提示您解決「工作區」與所擷取之「伺服器版本」之間的檔案衝突。 如需詳細資訊,請參閱 Resolve 命令。
範例
下列範例會從伺服器擷取最新的 314.cs 版本。 如果您有針對 314.cs 的暫止變更,Team Foundation Server 會啟始解析程序以協助您決定如何處理衝突。
C:\projects>tf get 314.cs
下列範例會從伺服器擷取 1256.cs 的版本 8。
注意事項 |
---|
使用 1256.cs;8 與使用 1256.cs;C8 相同。 依預設值,如果只在分號後指定數字,就會使用變更集版本。 |
C:\>tf get 1256.cs;8
下列範例會從伺服器資料夾和子資料夾將所有取消隱匿項目的最新版本擷取到 C:\projects 目錄,並在必要的位置建立本機資料夾。 如需如何隱匿和取消隱匿資料夾的詳細資訊,請參閱 Workfold 命令。
C:\projects>tf get
下列範例提供其他方式來擷取使用變更集 1999 簽入的 1256.cs 版本。
c:\projects>tf get /version:C1999 1256.cs
-或-
c:\projects>tf get 1256.cs;C1999
下列範例根據建立變更集 271 時項目在伺服器中的存在方式,從伺服器擷取所有取消隱匿項目的版本。
c:\projects>tf get /version:C271
下列範例會擷取 build42,標記為 "build42"。這樣只要沒有暫止變更,就會比對工作區與該標籤。 不在標籤中的任何檔案都會從本機磁碟中移除。
c:\projects>tf get /version:Lbuild42
下列範例會從伺服器擷取特定日期和時間的版本。
c:\projects>tf get /version:D2008-01-21T16:00