Checkin 命令
更新:2007 年 11 月
將目前工作區中的暫止變更認可到 Team Foundation 版本控制伺服器。
必要的使用權限
若要使用 checkin 命令,您必須將 [簽入] 權限設定為 [允許]。若要使用 /author 選項,您必須將「簽入其他使用者的變更」權限設定為 [允許]。如需詳細資訊,請參閱 Team Foundation Server 使用權限。
tf checkin [/author:authorname] [/comment:("comment"|@comment file)]
[/noprompt] [/notes:(“NoteName”=”notetext”|@notefile)]
[/override:reasonfile|@reason] [/recursive] [/saved] [/validate]
[itemspec]
參數
引數 |
描述 |
---|---|
authorname |
/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 如何剖析項目規格以便判斷哪些項目位於範圍內的詳細資訊,請參閱命令列選項。 |
選項 |
描述 |
---|---|
/author |
辨別指定或隱含暫止變更的作者,使某一使用者可以代表其他使用者簽入變更。 需要 CheckinOther 權限。 |
/comment |
使註解與變更集產生關聯。 |
/noprompt |
抑制任何要求您輸入的提示。 |
/notes |
提供一或多個要與變更集相關聯的簽入提示。 |
/override |
讓您覆寫簽入原則失敗。這個選項只有在有簽入原則而您仍想簽入時才需要。 |
/recursive |
簽入指定或隱含的工作資料夾和子資料夾中的所有項目。 |
/saved |
當簽入失敗或由使用者取消時,或者當使用者解除擱置變更時,選取的變更、註解、工作項目、簽入提示以及簽入原則覆寫原因 (若有) 會儲存在電腦上。 與 /noprompt 搭配使用時,/saved 選項會簽入變更以及儲存的註解等 (如果有的話)。 |
/validate |
/validate 選項可讓您在不用實際執行簽入的情況下測試簽入。 /validate 選項可讓簽入評估簽入原則、檢查簽入提示,並在不用實際簽入的情況下尋找衝突。任何經由這個選項確認的問題 (例如衝突) 都必須在簽入之前加以解決。 |
備註
暫止的變更是由檔案或資料夾的增添、刪除、重新命名、編輯、分支、取消刪除或檔案類型所組成。某些變更,例如編輯和重新命名,可以同時套用至單一項目。暫止變更是尚未送出進行簽入的變更。如需 Team Foundation 中的暫止變更的詳細資訊和完整清單,請參閱暫止的變更。
checkin 命令會從動態定義的暫止變更集、工作項目、使用者定義的註解以及系統中繼資料,在 Team Foundation 版本控制伺服器中建立變更集,並將您的變更提供其他使用者使用。其他使用者可以使用 get 命令擷取您的變更。history 和 changeset 命令會針對您送出的變更顯示變更集資訊。
注意事項: |
---|
因為可以從命令列簽入暫止的變更,所以 [原始檔控制總管] 內容功能表可能不會同步成暫止變更的狀態。 |
如需如何尋找 tf 命令列公用程式的詳細資訊,請參閱 Tf 命令列公用程式命令。
簽入流程
簽入作業是不可部分完成的作業 (Atomic Operation),這代表作業不是完全成功,就是完全失敗。如果暫止變更清單中有任一變更無法送出至 Team Foundation 版本控制伺服器,即無法認可任何變更,也不會建立變更集。例如,如果您在作業中途喪失網路連接,整個作業都會失敗。
簽入處理序的第一個步驟是評估暫止變更是否符合簽入原則。您可以在命令列使用 /override 選項覆寫簽入原則失敗。您必須提供覆寫原則失敗的原因。這項原因會保存在 Team Foundation 版本控制伺服器中,且成為已認可變更集的屬性 (Attribute)。/override 選項主要是為了在指令碼中使用而設計。如需詳細資訊,請參閱 HOW TO:覆寫簽入原則。
如果暫止變更清單中的項目版本與最新的 Team Foundation 版本控制伺服器版本不同,Team Foundation 會提示首先解決您的版本和最新的 Team Foundation 版本控制伺服器版本之間的衝突。例如,如果簽出 stellar.cs 的版本 4,而現在最新的 Team Foundation 版本控制伺服器版本是版本 6,則系統會提示解決衝突。除非指定 /noprompt 選項,否則 [解決] 對話方塊會出現,以協助調查和解決版本差異。在解決差異和重新測試程式碼後,就可以嘗試再次簽入變更。
範例
下列範例所顯示的 [簽入] 對話方塊中預先選取了暫止變更,將在對應至 c:\projects 的工作區中進行所有暫止變更的大量簽入作業。如果按一下 [簽入],每個項目都會個別送出至 Team Foundation 版本控制伺服器中的變更集,並進行評估以確定 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
請參閱
工作
逐步解說:從命令列使用 Team Foundation 版本控制