Checkin 命令

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

Visual Studio 2019 | Visual Studio 2022

TFVC checkin 命令将挂起的文件和文件夹更改签入到服务器。

你对开发计算机上的文件所做的几乎所有更改都将作为挂起的更改存储在你的工作区中,直到你将其签入。 签入更改时,它们会以更改集的形式存储在服务器上。 checkin 命令提供其他用户界面,用于执行将工作签入到团队代码库中针对 Visual Studio 记录的相同过程。

提示

  • 若要为其他任务保留更改或清理工作区,请使用 shelve 命令

  • 如果遇到冲突阻止你签入,可以使用 resolve 命令来解决冲突。

  • 如果计算机和用户帐户没有映射到包含搁置集的项目集合的工作区,可以使用 /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