Checkin 命令

更新:2007 年 11 月

将当前工作区中挂起的更改提交到 Team Foundation 版本控制 服务器。

必需的权限

若要使用 checkin 命令,您必须将“签入”权限设置为“允许”。若要使用 /author 选项,您必须将“签入其他用户的更改”权限设置为“允许”。有关更多信息,请参见 Team Foundation Server 权限

tf checkin [/author:author name] [/comment:("comment"|@comment file)] 
[/noprompt] [/notes:(“Note Name”=”note text”|@notefile)] 
[/override:reasonfile|@reason] [/recursive] [/saved] [/validate] 
[itemspec]

参数

参数

说明

authorname

用户提供的 /author 选项的值。

comment

用户提供的关于签入的注释。

@comment file

用户提供的包含签入注释的文件在磁盘上的路径。

NoteFieldName=NoteFieldValue

设置签入说明字段的值。可以提供多个分号分隔的“字段=值”表达式。

Notefile

用户提供的磁盘上文件的路径,其中包含签入说明的字段名和值,以“字段=值”的格式显示。以分号分隔的平铺说明可以跨多个行,例如:

字段1=值1;

字段2=跨

多行

的值;。

原因文件

用户提供的忽略签入策略的原因说明。如果已指定原因,将通过电子邮件向 Team Foundation 管理员发送关于策略重写及此说明的通知。

itemspec

指定要签入的文件或文件夹。有关 Team Foundation 如何通过分析文件规范确定其范围内项的更多信息,请参见 命令行选项

选项

说明

/author

标识指定或隐含的挂起的更改的作者,以便某个用户可以代表其他用户签入更改。

需要 CheckinOther 权限。

/comment

将注释与变更集关联起来。

/noprompt

取消显示需要您输入的任何提示。

/notes

提供要与变更集相关联的一个或多个签入说明。

/override

允许您重写签入策略失败。只有当签入策略已存在,而您仍要签入时才需要此选项。

/recursive

签入指定的或暗示的工作文件夹及子文件夹中的所有项。

/saved

当签入失败或用户取消签入时,或当用户将更改取消搁置时,如果存在任何选定的更改、注释、工作项、签入说明和签入策略重写原因,则会将这些内容存储到计算机上。

当与 /noprompt 一起使用时,/saved 选项会将已保存的任何注释等内容与所做的更改一起签入。

/validate

/validate 选项允许您在不实际执行签入的情况下对其进行测试。

/validate 选项使签入评估签入策略、检查签入说明并查找冲突,但不实际执行签入。必须解决由该选项标识的任何问题(如冲突)才能签入相应的项。

备注

挂起的更改包括文件或文件夹的添加、删除、重命名、编辑、分支、撤消删除或文件类型。某些更改(如编辑和重命名)可以同时应用到单个项。挂起的更改是尚未提交以进行签入的更改。有关 Team Foundation 中挂起的更改的完整列表的更多信息,请参见 挂起的更改

checkin 命令在 Team Foundation 版本控制 服务器中,从一组动态定义的挂起的更改、工作项、用户定义的注释和系统元数据创建一个变更集,使其他用户能使用您的更改。其他用户可以使用 get 命令检索您的更改。historychangeset 命令显示已提交的更改的变更集信息。

说明:

由于您可以通过命令行签入挂起的更改,因此“源代码管理资源管理器”上下文菜单有可能并不始终与挂起的更改的状态同步。

有关如何查找 tf 命令行实用工具的更多信息,请参见 Tf 命令行实用工具命令

签入过程

签入操作以原子方式执行,这意味着签入操作只有两种结果:完全成功或完全失败。如果挂起的更改的列表中有任何更改无法提交到 Team Foundation 版本控制 服务器,则所有更改均无法提交,且不会创建变更集。例如,如果在操作过程中丢失网络连接,则整个操作将失败。

签入过程的第一步是评估挂起的更改是否符合签入策略。您可以使用 /override 选项在命令行处重写签入策略失败。必须提供重写策略失败的原因。此原因在 Team Foundation 版本控制 服务器中保持不变,并作为已提交变更集的一个属性。/override 选项主要用于脚本中。有关更多信息,请参见如何:重写签入策略

如果挂起更改列表中某个项的版本与 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 版本控制

演练:自定义签入策略和签入说明

如何:签入挂起的更改

概念

向版本控制服务器提交更改

参考

命令行语法 (Team System)

Checkout 和 Edit 命令

Changeset 命令

History 命令

Shelve 命令

Status 命令

其他资源

Tf 命令行实用工具命令