Checkin 命令

將目前工作區中的暫止變更認可到 Team Foundation 版本控制伺服器。

必要的使用權限

若要使用 checkin 命令,您必須將 [簽入] 權限設定為 [允許]。 若要使用 /author 選項,您必須將「簽入其他使用者的變更」權限設定為 [允許]。 如需詳細資訊,請參閱Team Foundation Server 使用權限

tf checkin [/author:author name] [/comment:("comment"|@comment file)] 
[/noprompt] [/notes:("Note Name"="note text"|@notefile)] 
[/override:(reason|@reasonfile)] [/recursive] [/saved] [/validate] [itemspec] [/bypass] [/login:username,[password]]

tf checkin /shelveset:shelvesetname[;shelvesetowner] [/bypass] [/noprompt] [/login:username,[password]] [/collection:TeamProjectCollectionUrl][/author:author name] [/force]

參數

引數

描述

author name

/author 選項的使用者提供值。

comment

有關簽入的使用者提供註解。

@comment file

磁碟上檔案的使用者提供路徑,檔案中包含簽入的註解。

NoteFieldName=NoteFieldValue

設定簽入註解欄位的值。 您可以提供多個以分號分隔的 "field=value" 運算式。

Notefile

磁碟上之檔案的使用者提供路徑,此檔案包含格式為 "field=value" 的簽入提示欄位名稱和值。以分號分隔的提示標題可以跨越多行,例如:

field1=value1;

field2=value

that spans

multiple lines;

Reasonfile

為何忽略簽入原則的使用者提供描述。 如果指定了原因,原則覆寫的通知以及這項說明會以電子郵件傳送到 Team Foundation 系統管理員。

itemspec

指定要簽入的檔案或資料夾。 如需 Team Foundation 如何剖析檔案規格以便判斷哪些項目位於範圍內的詳細資訊,請參閱命令列選項

username

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

shelvesetname [:owner]

識別您想要簽入的擱置集。 此選擇性的 owner 引數用於指定目前使用者所未擁有的擱置集。

TeamProjectCollectionUrl

Team 專案集合的 URL (例如 http://myserver:8080/tfs/DefaultCollection),該集合包含您要簽入的檔案或資料夾。

選項

描述

/author

識別暫止變更的作者,使某一使用者可以代表其他使用者簽入變更。

需要 CheckinOther 權限。

/comment

使註解與變更集產生關聯。

/noprompt

抑制任何要求您輸入的提示。

/notes

提供一或多個要與變更集相關聯的簽入提示。

/override

讓您覆寫簽入原則失敗。 這個選項只有在有簽入原則而您仍想簽入時才需要。

/recursive

簽入指定或隱含的工作資料夾和子資料夾中的所有項目。

/saved

當簽入失敗或由使用者取消時,或者當使用者解除擱置變更時,選取的變更、註解、工作項目、簽入提示以及簽入原則覆寫原因 (若有) 會儲存在電腦上。

當結合 /noprompt 時,/saved 選項會檢查註解等的變更。 已儲存,如果有的話。

/validate

/validate 選項可讓您在不用實際執行簽入的情況下測試簽入。

/validate 選項會導致評估簽入原則的簽入,檢查簽入記事,以及尋找衝突而不在實際上簽入。 任何問題 (例如衝突),若是由此選項識別,都必須在您簽入項目之前解決。

/bypass

略過閘道簽入需求。 如需詳細資訊,請參閱 簽入由閘道簽入組建所控制的暫止變更

/login

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

/shelveset

以名稱指定擱置集。

/collection

指定 Team 專案集合。

備註

暫止的變更是由檔案或資料夾的增添、刪除、重新命名、編輯、分支、取消刪除或檔案類型所組成。 您可以將某些變更 (例如編輯和重新命名) 同時套用至單一項目。 暫止的變更,就是還沒有提交以簽入的變更。 如需 Team Foundation 中暫止的變更的詳細資訊和完清單,請參閱暫止的變更

checkin 命令會從動態定義的暫止變更集、工作項目、使用者定義的註解以及系統中繼資料,在 Team Foundation 版本控制伺服器中建立變更集,並將您的變更提供其他使用者使用。 其他使用者可以使用 get 命令擷取您的變更。 historychangeset 命令會針對您送出的變更顯示變更集資訊。

注意事項注意事項

因為可以從命令列簽入暫止的變更,所以 [原始檔控制總管] 內容功能表不一定每次都會反映暫止變更的狀態。

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

簽入流程

簽入作業是不可部分完成的作業 (Atomic Operation),這代表作業不是完全成功,就是完全失敗。 如果暫止變更清單中有任一變更無法送出至 Team Foundation 版本控制伺服器,即無法認可任何變更,也不會建立變更集。 例如,如果您在作業中途喪失網路連接,整個作業都會失敗。

簽入處理序的第一個步驟是評估暫止變更是否符合簽入原則。 您可以在命令列使用 /override 選項覆寫簽入原則失敗。 您必須提供覆寫原則失敗的原因。 這項原因會保存在 Team Foundation 版本控制伺服器中,且成為已認可變更集的屬性 (Attribute)。 /override 選項主要是為了在指令碼中使用而設計。 如需詳細資訊,請參閱 覆寫簽入原則

如果暫止變更清單中的項目版本與最新的 Team Foundation 版本控制伺服器版本不同,Team Foundation 會提示首先解決您的版本和最新的 Team Foundation 版本控制伺服器版本之間的衝突。 例如,如果簽出 stellar.cs 的版本 4,而現在最新的 Team Foundation 版本控制伺服器版本是版本 6,則系統會提示解決衝突。 除非指定 **/noprompt ** 選項,否則 [解決] 對話方塊會出現,以協助調查和解決版本差異。 在解決差異和重新測試程式碼後,就可以嘗試再次簽入變更。

範例

下列範例所顯示的 [簽入] 對話方塊中預先選取了暫止變更,將在對應至 c:\projects 的工作區中進行所有暫止變更的大量簽入作業。 如果按一下 [簽入],每個項目都會個別送出至 Team Foundation 版本控制伺服器中的變更集,並進行評估以確定伺服器版本未因項目簽出而變更。 如果簽入成功,Team Foundation 就會建立變更集,並顯示其編號以供稍後參考。

c:\projects>tf checkin

下列範例將目前工作區中的所有暫止變更與指定註解送出至 Team Foundation 版本控制伺服器以建立新的變更集。

c:\projects>tf checkin /comment:"Re-implemented Pi calculator" /noprompt

下列範例將暫止變更送出至 314.cs,並將目前工作區中的所有其他修訂保留為暫止。

c:\projects>tf checkin 314.cs /noprompt

請參閱

工作

逐步解說:自訂簽入原則與簽入提示

簽入暫止的變更

參考

命令列語法 (版本控制)

簽出和編輯命令

Changeset 命令

History 命令

Shelve 命令

Status 命令

概念

送出變更

其他資源

Tf 命令列公用程式命令