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