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 命令擷取您的變更。 history 和 changeset 命令會針對您送出的變更顯示變更集資訊。
注意事項 |
---|
因為可以從命令列簽入暫止的變更,所以 [原始檔控制總管] 內容功能表不一定每次都會反映暫止變更的狀態。 |
如需如何尋找 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