Checkin command
TFS 2018
Visual Studio 2019 | Visual Studio 2022
The TFVC checkin
command checks in your pending file and folder changes to the server.
Almost every change that you make to the files on your dev machine is stored in your workspace as a pending change until you check it in. When you check in your changes, they're stored as a changeset on the server. The checkin
command provides a different user interface to do the same processes documented for Visual Studio in Check in your work to the team's codebase.
Tips
To set aside changes or clean your workspace for another task, use the Shelve Command.
If conflicts block your check-in, you can use the Resolve Command to resolve them.
If a machine and user account don't have a workspace mapped to the project collection that contains the shelveset, you can use the
/shelveset
and/collection
options to check in a shelveset.
Prerequisites
Syntax
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]
Parameters
Parameter
Description
/author:<author name>
Identifies the author of the pending changes so that a user can check in changes on behalf of another user.
Requires the CheckinOther permission. See Permissions and groups reference.
/bypass
Bypasses a gated check-in requirement. For more information, see Check in to a folder that is controlled by a gated check-in build process.
/collection:<ProjectCollectionUrl>
If you use the shelveset
option, the /collection
option specifies the URL of the project collection that contains the shelveset. For example: http://myserver:8080/tfs/DefaultCollection
.
By default, the project collection is presumed to be the one that contains the workspace that maps the current directory.
/comment
Associates a comment with the changeset using one of the following arguments:
"<comment>"
: A user-provided comment about the check-in.@<comment file>
: The path to a file on disk that contains the comment for the check-in.
/force
Forces a check-in on items with pending edits even when there are no content changes in the file.
<itemspec>
Specifies the scope of the items to check in from the user's workspace. You can specify more than one itemspec
argument. For syntax, see Use Team Foundation version control commands.
/login:<username>[,<password>]
Specifies the user account to run the command. See Use Team Foundation version control commands.
/new
The selected state of each pending change as shown in the Check In dialog box. The comment, associated work items, check-in notes, and check-in policy override reason are stored on your dev machine as pending changes until you check them in. The /new
option clears this check-in metadata before you check in. This option and the behavior it modifies have no effect when you use the /noprompt
option.
/noautoresolve
By default, the system automatically attempts to AutoResolve All
conflicts. Specify this option to disable this default behavior. For more information, see Resolve Team Foundation Version Control conflicts.
/noprompt
Suppresses the display of windows and dialog boxes, such as the Check In dialog box, and redirects output data to the command prompt. See Use Team Foundation version control commands.
/notes
Provides one or more check-in notes to associate with the changeset using one of the following arguments:
<NoteFieldName>=<NoteFieldValue>
: Sets the value of the check-in note field. You can provide multiple, semicolon-separatedfield=value
expressions.@<NoteFile>
: The user-provided path of a file on disk that contains check-in note field names and values in the format offield=value
. A semicolon separated note tile can span multiple lines, for example:<Field1>=<Value1>;
<Field2>=<First line of Value2>;
<Second line of Value2>;
<Field3>=<Value3>;
/override
Overrides a check-in policy using one of the following arguments:
reason
: A user-provided reason why the check-in policy is being ignored.reasonfile
: The path to a file that contains a user-provided description of the reason why the check-in policy is being ignored.
/recursive
Recursively checks in items in the specified directory and any subdirectories.
/saved
Ignore this parameter.
/shelveset:<shelvesetname>[;<owner>]
Specifies a shelveset to check in. The optional owner
argument specifies a shelveset that the current user doesn't own.
Note
After you check in the shelveset, the system deletes it.
/validate
Tests whether the check in would succeed, without checking in the files. The system evaluates check-in policies, check-in notes, and lists conflicts.
Note
If you don't specify the /noprompt
option, you must select the Check In button on the Check In dialog box to validate the check-in. After you select this button, the system doesn't check in the files.
Examples
The following examples assume that c:\code\SiteApp\Main
is the main folder mapped to the project collection in the user's workspace.
Check in all pending changes in the current workspace
The following command displays the Check In dialog box, which displays all pending changes in the current workspace. You can use the Check In dialog box to select or clear the pending changes you want to check in, add a comment, associate work items, and do other tasks, and then choose the Check In button when you're ready to proceed.
c:\code\SiteApp\Main>tf checkin
Check in all pending changes with a comment
The following example checks in all pending changes in the current workspace and provides a comment to help your teammates understand the purpose of your changes.
c:\code\SiteApp\Main>tf checkin /comment:"Re-implemented Pi calculator"
Check in a change to a single item without using the Check In dialog box
The following example checks in pending changes to program.cs. The Check In dialog box isn't displayed, and if any conflicts block the check-in, the system doesn't display the conflicts window.
c:\code\SiteApp\Main>tf checkin program.cs /noprompt