Checkin 命令

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

TFVC checkin 命令会检查挂起的文件和文件夹对服务器的更改。

对开发计算机上的文件所做的几乎每一项更改都存储在工作区中,作为 挂起的更改,直到签入。 签入更改时,这些更改将存储为服务器上的 变更集checkin 命令提供了不同的用户界面,用于在 签入团队的代码库中为 Visual Studio 记录的相同过程。

提示

  • 若要为另一个任务留出更改或清理工作区,请使用 Shelve 命令

  • 如果冲突阻止签入,则可以使用 解决命令 来解决它们。

  • 如果计算机和用户帐户没有映射到包含货架集的项目集合的工作区,则可以使用 /shelveset/collection 选项签入货架集。

先决条件

语法

tf checkin [/author:author name] [/comment:("comment"|@comment file)] 
[/noprompt] [/notes:("Note Name"="note text"|@notefile)] 
[/override:(reason|@reasonfile)] [/recursive] [/saved] [/validate] [itemspec] [/bypass] [/force] [/noautoresolve] [/login:username,[password]] [/new]
tf checkin /shelveset:shelvesetname[;shelvesetowner] [/bypass] [/noprompt] [/login:username,[password]] [/collection:TeamProjectCollectionUrl][/author:author name] [/force]

参数

参数

说明


/author:<author name>

标识挂起更改的作者,以便用户可以代表其他用户签入更改。

需要 CheckinOther 权限。 请参阅 权限和组参考

/bypass

绕过封闭的签入要求。 有关详细信息,请参阅签入到由封闭签入生成过程控制的文件夹

/collection:<ProjectCollectionUrl>

如果使用 shelveset 选项,/collection 选项指定包含货架集的项目集合的 URL。 例如: http://myserver:8080/tfs/DefaultCollection

默认情况下,项目集合假定为包含映射当前目录的工作区的集合。

/comment

使用以下参数之一将注释与变更集相关联:

  • "<comment>":用户提供的有关签入的注释。
  • @<comment file>:磁盘上包含签入注释的文件的路径。

/force

即使文件中没有内容更改,也强制签入具有挂起编辑的项。

<itemspec>

指定要从用户工作区签入的项的范围。 可以指定多个 itemspec 参数。 有关语法,请参阅 使用 Team Foundation 版本控制命令

/login:<username>[,<password>]

指定要运行命令的用户帐户。 请参阅 使用 Team Foundation 版本控制命令

/new

每个挂起更改的选定状态,如 签入 对话框中所示。 注释、关联的工作项、签入笔记和签入策略替代原因将存储在开发计算机上,因为待签更改,直到签入。 /new 选项在签入之前清除此签入元数据。 使用 /noprompt 选项时,它修改的行为不起作用。

/noautoresolve

默认情况下,系统会自动尝试 AutoResolve All 冲突。 指定此选项可禁用此默认行为。 有关详细信息,请参阅 解决 Team Foundation 版本控制冲突

/noprompt

禁止显示窗口和对话框,例如 签入 对话框,并将输出数据重定向到命令提示符。 请参阅 使用 Team Foundation 版本控制命令

/notes

提供一个或多个签入笔记,以使用下列参数之一与变更集相关联:

  • <NoteFieldName>=<NoteFieldValue>:设置签入笔记字段的值。 可以提供多个分号分隔 field=value 表达式。
  • @<NoteFile>:磁盘上文件的用户提供的路径,其中包含 field=value格式的签入笔记字段名称和值。 分号分隔的便笺磁贴可以跨越多行,例如:

    <Field1>=<Value1>;
    <Field2>=<First line of Value2>;
    <Second line of Value2>;
    <Field3>=<Value3>;

/override

使用以下参数之一替代签入策略:

  • reason:用户提供导致签入策略被忽略的原因。
  • reasonfile:包含用户提供的说明的文件的路径,说明签入策略被忽略的原因。

/recursive

以递归方式检查指定目录和任何子目录中的项。

/saved

忽略此参数。

/shelveset:<shelvesetname>[;<owner>]

指定要签入的货架集。 可选 owner 参数指定当前用户不拥有的货架集。

注释

签入货架集后,系统会将其删除。

/validate

测试签入是否成功,而无需签入文件。 系统将评估签入策略、签入说明和列出冲突。

注释

如果未指定 /noprompt 选项,则必须在 签入 对话框中选择 签入 按钮来验证签入。 选择此按钮后,系统不会签入文件。

例子

以下示例假定 c:\code\SiteApp\Main 是映射到用户工作区中的项目集合的主文件夹。

签入当前工作区中所有挂起的更改

以下命令显示 签入 对话框,其中显示当前工作区中的所有挂起更改。 可以使用 签入 对话框来选择或清除要签入的挂起更改、添加批注、关联工作项和执行其他任务,然后在准备好继续时选择 签入 按钮。

c:\code\SiteApp\Main>tf checkin

使用注释签入所有挂起的更改

以下示例检查当前工作区中所有挂起的更改,并提供注释来帮助团队成员了解更改的目的。

c:\code\SiteApp\Main>tf checkin /comment:"Re-implemented Pi calculator"

在不使用“签入”对话框的情况下签入对单个项的更改

以下示例检查挂起的 program.cs更改。 “签入”对话框未显示,如果有任何冲突阻止签入,则系统不会显示冲突窗口。

c:\code\SiteApp\Main>tf checkin program.cs /noprompt