Git commits
TFS 2017 | TFS 2015 | TFS 2013
Note
Looking for REST APIS that support TFS 2018 or later versions? See the Azure DevOps REST API Reference.
api-version = 1.0
If you haven't already, look at the information on getting started with these APIs.
Get a list of commits
GET https://{instance}/DefaultCollection/{project}/_apis/repos/git/repositories/{repository}/commits?api-version={version}[&branch={string}&commit={string}&itemPath={string}&committer={string}&author={string}&fromDate={dateTime}&toDate={dateTime}[&$top={integer}&$skip={integer}]
Parameter | Type | Default | Notes |
---|---|---|---|
URL | |||
instance | string | TFS server name ({server:port}). | |
project | string | ID or name of the project. Optional if specifying an ID for repository. | |
repository | string | ID of the repository. | |
Query | |||
api-version | string | Version of the API to use. | |
branch | string | The name of a branch in the repository. (Can't combine with commit parameter.) | |
commit | string | The ID of a commit in the repository. (Can't combine with branch parameter.) | |
itemPath | string | / | Path of an item in the repository. |
committer | string | Name of the person who committed the change. | |
author | string | Name of the author. | |
fromDate | DateTime | Start date to search from. | |
toDate | DateTime | End date to search to. | |
$skip | integer | 0 | Number of commits to skip. |
$top | integer | 100 | Number of commits to return. |
Note
Repositories have both a name and an identifier. Identifiers are globally unique, but several projects may contain a repository of the same name. You don't need to include the project if you specify a repository by ID. However, if you specify a repository by name, you must also specify the project (by name or ID).
By repository ID
If you don't specify optional parameters, then we return all commits in the repository, whatever the reachability from branches.
Sample request
GET https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits?api-version=1.0
Sample response
{
"count": 19,
"value": [
{
"commitId": "23d0bc5b128a10056dc68afece360d8a0fabb014",
"author": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-06-30T18:10:55Z"
},
"committer": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-06-30T18:10:55Z"
},
"comment": "Better description for hello world",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/23d0bc5b128a10056dc68afece360d8a0fabb014",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/23d0bc5b128a10056dc68afece360d8a0fabb014"
},
{
"commitId": "fe17a84cc2dfe0ea3a2202ab4dbac0706058e41f",
"author": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-06-30T17:51:09Z"
},
"committer": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-06-30T17:51:09Z"
},
"comment": "Better description for hello world",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/fe17a84cc2dfe0ea3a2202ab4dbac0706058e41f",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/fe17a84cc2dfe0ea3a2202ab4dbac0706058e41f"
},
{
"commitId": "0360c963d7d86d040e9c33bba836feab14da4ad3",
"author": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-06-10T19:42:13Z"
},
"committer": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-06-10T19:42:13Z"
},
"comment": "Fix for hello world class",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/0360c963d7d86d040e9c33bba836feab14da4ad3",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/0360c963d7d86d040e9c33bba836feab14da4ad3"
},
{
"commitId": "097d82b8aeabe493bf4c3553d320ae2529bba591",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-06-09T21:43:25Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-06-09T21:43:25Z"
},
"comment": "fix registration page",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/097d82b8aeabe493bf4c3553d320ae2529bba591",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/097d82b8aeabe493bf4c3553d320ae2529bba591"
},
{
"commitId": "33b55f7cb7e7e245323987634f960cf4a6e6bc74",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-05-02T19:17:05Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-05-02T19:17:05Z"
},
"comment": "Fixed bug in web.config file",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/33b55f7cb7e7e245323987634f960cf4a6e6bc74",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/33b55f7cb7e7e245323987634f960cf4a6e6bc74"
},
{
"commitId": "aad331d8d3b131fa9ae03cf5e53965b51942618a",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-04-14T21:34:52Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-04-14T21:34:52Z"
},
"comment": "Fixed bug for address validation.",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/aad331d8d3b131fa9ae03cf5e53965b51942618a",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/aad331d8d3b131fa9ae03cf5e53965b51942618a"
},
{
"commitId": "7c18355d8c2d946c5e1ce7a56f49653854445a1a",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-03-28T17:05:58Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-03-28T17:05:58Z"
},
"comment": "Added validation logic.",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/7c18355d8c2d946c5e1ce7a56f49653854445a1a",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/7c18355d8c2d946c5e1ce7a56f49653854445a1a"
},
{
"commitId": "cdaeef70a358ede7b4dc7b4a089f3853f37a6d2c",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-03-27T19:51:11Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-03-27T19:51:11Z"
},
"comment": "Added validation logic for zip code.",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/cdaeef70a358ede7b4dc7b4a089f3853f37a6d2c",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/cdaeef70a358ede7b4dc7b4a089f3853f37a6d2c"
},
{
"commitId": "ef837766c5eb3ae81a4c663d36bf95a8aed91312",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-03-26T20:25:39Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-03-26T20:25:39Z"
},
"comment": "Add validation code for zip code values.",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/ef837766c5eb3ae81a4c663d36bf95a8aed91312",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/ef837766c5eb3ae81a4c663d36bf95a8aed91312"
},
{
"commitId": "bd73638408daff89bcdac549a5a3396c9a7ce9dd",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-03-26T18:56:21Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-03-26T18:56:21Z"
},
"comment": "Added validation logic for zip code values.",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/bd73638408daff89bcdac549a5a3396c9a7ce9dd",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/bd73638408daff89bcdac549a5a3396c9a7ce9dd"
},
{
"commitId": "03bea1cebffa5726da0e3c0bc1487796d0dd0ee8",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-03-26T18:42:24Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-03-26T18:42:24Z"
},
"comment": "Added validation logic for address values.",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/03bea1cebffa5726da0e3c0bc1487796d0dd0ee8",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/03bea1cebffa5726da0e3c0bc1487796d0dd0ee8"
},
{
"commitId": "c093714168cdd190c1e171a803e996d685454352",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-03-26T18:37:32Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-03-26T18:37:32Z"
},
"comment": "Added validation logic for zip code values.",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/c093714168cdd190c1e171a803e996d685454352",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/c093714168cdd190c1e171a803e996d685454352"
},
{
"commitId": "3d203ea73427cec36b77a3a5a2e4f1f8ba7de170",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-03-26T18:00:14Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-03-26T18:00:14Z"
},
"comment": "Added code.",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/3d203ea73427cec36b77a3a5a2e4f1f8ba7de170",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/3d203ea73427cec36b77a3a5a2e4f1f8ba7de170"
},
{
"commitId": "1eea03b2ad9f14a5e7297c1307e36c980eb910ea",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-03-26T16:17:11Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-03-26T16:17:11Z"
},
"comment": "Added code.",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/1eea03b2ad9f14a5e7297c1307e36c980eb910ea",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/1eea03b2ad9f14a5e7297c1307e36c980eb910ea"
},
{
"commitId": "c40b5ceb9c77096b9f59e6a9193dae527bda79d9",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-03-10T20:54:10Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-03-10T20:54:10Z"
},
"comment": "Added method for submitting new customer address.",
"changeCounts": {
"Edit": 2
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/c40b5ceb9c77096b9f59e6a9193dae527bda79d9",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/c40b5ceb9c77096b9f59e6a9193dae527bda79d9"
},
{
"commitId": "6ff5e8f6256cc58aa062dbb1e096c1e3b3435ebe",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-03-10T20:50:08Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-03-10T20:50:08Z"
},
"comment": "Adding customer address module project",
"changeCounts": {
"Add": 12
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/6ff5e8f6256cc58aa062dbb1e096c1e3b3435ebe",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/6ff5e8f6256cc58aa062dbb1e096c1e3b3435ebe"
},
{
"commitId": "03b1b831e41df536d836c95e2f68a42db4f3e0db",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-02-10T21:52:47Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-02-10T21:52:47Z"
},
"comment": "Add Hello World to TFS",
"changeCounts": {
"Add": 5
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/03b1b831e41df536d836c95e2f68a42db4f3e0db",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/03b1b831e41df536d836c95e2f68a42db4f3e0db"
},
{
"commitId": "67cae2b029dff7eb3dc062b49403aaedca5bad8d",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-01-29T23:52:56Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-01-29T23:52:56Z"
},
"comment": "home page",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/67cae2b029dff7eb3dc062b49403aaedca5bad8d",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/67cae2b029dff7eb3dc062b49403aaedca5bad8d"
},
{
"commitId": "be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-01-29T23:32:09Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-01-29T23:32:09Z"
},
"comment": "First cut",
"changeCounts": {
"Add": 305
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4"
}
]
}
In the history of a commit
To return the commits in the history of a specific commit, use the commit
parameter.
Sample request
GET https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits?api-version=3.0-preview&commit=33b55f7cb7e7e245323987634f960cf4a6e6bc74
Sample response
{
"count": 15,
"value": [
{
"commitId": "33b55f7cb7e7e245323987634f960cf4a6e6bc74",
"author": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-05-02T19:17:05Z"
},
"committer": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-05-02T19:17:05Z"
},
"comment": "Fixed bug in web.config file",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/33b55f7cb7e7e245323987634f960cf4a6e6bc74",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/33b55f7cb7e7e245323987634f960cf4a6e6bc74"
},
{
"commitId": "aad331d8d3b131fa9ae03cf5e53965b51942618a",
"author": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-04-14T21:34:52Z"
},
"committer": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-04-14T21:34:52Z"
},
"comment": "Fixed bug for address validation.",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/aad331d8d3b131fa9ae03cf5e53965b51942618a",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/aad331d8d3b131fa9ae03cf5e53965b51942618a"
},
{
"commitId": "7c18355d8c2d946c5e1ce7a56f49653854445a1a",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-03-28T17:05:58Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-03-28T17:05:58Z"
},
"comment": "Added validation logic.",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/7c18355d8c2d946c5e1ce7a56f49653854445a1a",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/7c18355d8c2d946c5e1ce7a56f49653854445a1a"
},
{
"commitId": "cdaeef70a358ede7b4dc7b4a089f3853f37a6d2c",
"author": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-03-27T19:51:11Z"
},
"committer": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-03-27T19:51:11Z"
},
"comment": "Added validation logic for zip code.",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/cdaeef70a358ede7b4dc7b4a089f3853f37a6d2c",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/cdaeef70a358ede7b4dc7b4a089f3853f37a6d2c"
},
{
"commitId": "ef837766c5eb3ae81a4c663d36bf95a8aed91312",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-03-26T20:25:39Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-03-26T20:25:39Z"
},
"comment": "Add validation code for zip code values.",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/ef837766c5eb3ae81a4c663d36bf95a8aed91312",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/ef837766c5eb3ae81a4c663d36bf95a8aed91312"
},
{
"commitId": "bd73638408daff89bcdac549a5a3396c9a7ce9dd",
"author": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-03-26T18:56:21Z"
},
"committer": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-03-26T18:56:21Z"
},
"comment": "Added validation logic for zip code values.",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/bd73638408daff89bcdac549a5a3396c9a7ce9dd",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/bd73638408daff89bcdac549a5a3396c9a7ce9dd"
},
{
"commitId": "03bea1cebffa5726da0e3c0bc1487796d0dd0ee8",
"author": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-03-26T18:42:24Z"
},
"committer": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-03-26T18:42:24Z"
},
"comment": "Added validation logic for address values.",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/03bea1cebffa5726da0e3c0bc1487796d0dd0ee8",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/03bea1cebffa5726da0e3c0bc1487796d0dd0ee8"
},
{
"commitId": "c093714168cdd190c1e171a803e996d685454352",
"author": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-03-26T18:37:32Z"
},
"committer": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-03-26T18:37:32Z"
},
"comment": "Added validation logic for zip code values.",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/c093714168cdd190c1e171a803e996d685454352",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/c093714168cdd190c1e171a803e996d685454352"
},
{
"commitId": "3d203ea73427cec36b77a3a5a2e4f1f8ba7de170",
"author": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-03-26T18:00:14Z"
},
"committer": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-03-26T18:00:14Z"
},
"comment": "Added code.",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/3d203ea73427cec36b77a3a5a2e4f1f8ba7de170",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/3d203ea73427cec36b77a3a5a2e4f1f8ba7de170"
},
{
"commitId": "1eea03b2ad9f14a5e7297c1307e36c980eb910ea",
"author": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-03-26T16:17:11Z"
},
"committer": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-03-26T16:17:11Z"
},
"comment": "Added code.",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/1eea03b2ad9f14a5e7297c1307e36c980eb910ea",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/1eea03b2ad9f14a5e7297c1307e36c980eb910ea"
},
{
"commitId": "c40b5ceb9c77096b9f59e6a9193dae527bda79d9",
"author": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-03-10T20:54:10Z"
},
"committer": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-03-10T20:54:10Z"
},
"comment": "Added method for submitting new customer address.",
"changeCounts": {
"Edit": 2
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/c40b5ceb9c77096b9f59e6a9193dae527bda79d9",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/c40b5ceb9c77096b9f59e6a9193dae527bda79d9"
},
{
"commitId": "6ff5e8f6256cc58aa062dbb1e096c1e3b3435ebe",
"author": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-03-10T20:50:08Z"
},
"committer": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-03-10T20:50:08Z"
},
"comment": "Adding customer address module project",
"changeCounts": {
"Add": 12
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/6ff5e8f6256cc58aa062dbb1e096c1e3b3435ebe",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/6ff5e8f6256cc58aa062dbb1e096c1e3b3435ebe"
},
{
"commitId": "03b1b831e41df536d836c95e2f68a42db4f3e0db",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-02-10T21:52:47Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-02-10T21:52:47Z"
},
"comment": "Add Hello World to TFS",
"changeCounts": {
"Add": 5
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/03b1b831e41df536d836c95e2f68a42db4f3e0db",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/03b1b831e41df536d836c95e2f68a42db4f3e0db"
},
{
"commitId": "67cae2b029dff7eb3dc062b49403aaedca5bad8d",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-01-29T23:52:56Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-01-29T23:52:56Z"
},
"comment": "home page",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/67cae2b029dff7eb3dc062b49403aaedca5bad8d",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/67cae2b029dff7eb3dc062b49403aaedca5bad8d"
},
{
"commitId": "be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-01-29T23:32:09Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-01-29T23:32:09Z"
},
"comment": "First cut",
"changeCounts": {
"Add": 305
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4"
}
]
}
In the history of a branch
To return the commits in the history of a branch, use the branch
parameter.
Sample request
GET https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits?api-version=3.0-preview&branch=master
Sample response
{
"count": 15,
"value": [
{
"commitId": "33b55f7cb7e7e245323987634f960cf4a6e6bc74",
"author": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-05-02T19:17:05Z"
},
"committer": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-05-02T19:17:05Z"
},
"comment": "Fixed bug in web.config file",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/33b55f7cb7e7e245323987634f960cf4a6e6bc74",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/33b55f7cb7e7e245323987634f960cf4a6e6bc74"
},
{
"commitId": "aad331d8d3b131fa9ae03cf5e53965b51942618a",
"author": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-04-14T21:34:52Z"
},
"committer": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-04-14T21:34:52Z"
},
"comment": "Fixed bug for address validation.",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/aad331d8d3b131fa9ae03cf5e53965b51942618a",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/aad331d8d3b131fa9ae03cf5e53965b51942618a"
},
{
"commitId": "7c18355d8c2d946c5e1ce7a56f49653854445a1a",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-03-28T17:05:58Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-03-28T17:05:58Z"
},
"comment": "Added validation logic.",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/7c18355d8c2d946c5e1ce7a56f49653854445a1a",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/7c18355d8c2d946c5e1ce7a56f49653854445a1a"
},
{
"commitId": "cdaeef70a358ede7b4dc7b4a089f3853f37a6d2c",
"author": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-03-27T19:51:11Z"
},
"committer": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-03-27T19:51:11Z"
},
"comment": "Added validation logic for zip code.",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/cdaeef70a358ede7b4dc7b4a089f3853f37a6d2c",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/cdaeef70a358ede7b4dc7b4a089f3853f37a6d2c"
},
{
"commitId": "ef837766c5eb3ae81a4c663d36bf95a8aed91312",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-03-26T20:25:39Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-03-26T20:25:39Z"
},
"comment": "Add validation code for zip code values.",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/ef837766c5eb3ae81a4c663d36bf95a8aed91312",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/ef837766c5eb3ae81a4c663d36bf95a8aed91312"
},
{
"commitId": "bd73638408daff89bcdac549a5a3396c9a7ce9dd",
"author": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-03-26T18:56:21Z"
},
"committer": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-03-26T18:56:21Z"
},
"comment": "Added validation logic for zip code values.",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/bd73638408daff89bcdac549a5a3396c9a7ce9dd",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/bd73638408daff89bcdac549a5a3396c9a7ce9dd"
},
{
"commitId": "03bea1cebffa5726da0e3c0bc1487796d0dd0ee8",
"author": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-03-26T18:42:24Z"
},
"committer": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-03-26T18:42:24Z"
},
"comment": "Added validation logic for address values.",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/03bea1cebffa5726da0e3c0bc1487796d0dd0ee8",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/03bea1cebffa5726da0e3c0bc1487796d0dd0ee8"
},
{
"commitId": "c093714168cdd190c1e171a803e996d685454352",
"author": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-03-26T18:37:32Z"
},
"committer": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-03-26T18:37:32Z"
},
"comment": "Added validation logic for zip code values.",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/c093714168cdd190c1e171a803e996d685454352",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/c093714168cdd190c1e171a803e996d685454352"
},
{
"commitId": "3d203ea73427cec36b77a3a5a2e4f1f8ba7de170",
"author": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-03-26T18:00:14Z"
},
"committer": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-03-26T18:00:14Z"
},
"comment": "Added code.",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/3d203ea73427cec36b77a3a5a2e4f1f8ba7de170",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/3d203ea73427cec36b77a3a5a2e4f1f8ba7de170"
},
{
"commitId": "1eea03b2ad9f14a5e7297c1307e36c980eb910ea",
"author": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-03-26T16:17:11Z"
},
"committer": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-03-26T16:17:11Z"
},
"comment": "Added code.",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/1eea03b2ad9f14a5e7297c1307e36c980eb910ea",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/1eea03b2ad9f14a5e7297c1307e36c980eb910ea"
},
{
"commitId": "c40b5ceb9c77096b9f59e6a9193dae527bda79d9",
"author": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-03-10T20:54:10Z"
},
"committer": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-03-10T20:54:10Z"
},
"comment": "Added method for submitting new customer address.",
"changeCounts": {
"Edit": 2
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/c40b5ceb9c77096b9f59e6a9193dae527bda79d9",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/c40b5ceb9c77096b9f59e6a9193dae527bda79d9"
},
{
"commitId": "6ff5e8f6256cc58aa062dbb1e096c1e3b3435ebe",
"author": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-03-10T20:50:08Z"
},
"committer": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-03-10T20:50:08Z"
},
"comment": "Adding customer address module project",
"changeCounts": {
"Add": 12
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/6ff5e8f6256cc58aa062dbb1e096c1e3b3435ebe",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/6ff5e8f6256cc58aa062dbb1e096c1e3b3435ebe"
},
{
"commitId": "03b1b831e41df536d836c95e2f68a42db4f3e0db",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-02-10T21:52:47Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-02-10T21:52:47Z"
},
"comment": "Add Hello World to TFS",
"changeCounts": {
"Add": 5
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/03b1b831e41df536d836c95e2f68a42db4f3e0db",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/03b1b831e41df536d836c95e2f68a42db4f3e0db"
},
{
"commitId": "67cae2b029dff7eb3dc062b49403aaedca5bad8d",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-01-29T23:52:56Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-01-29T23:52:56Z"
},
"comment": "home page",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/67cae2b029dff7eb3dc062b49403aaedca5bad8d",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/67cae2b029dff7eb3dc062b49403aaedca5bad8d"
},
{
"commitId": "be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-01-29T23:32:09Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-01-29T23:32:09Z"
},
"comment": "First cut",
"changeCounts": {
"Add": 305
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4"
}
]
}
You can also send a POST request and send the items version in the request body.
Sample request
POST https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commitsBatch?api-version=1.0
{
"itemVersion": {
"versionType": "branch",
"version": "develop"
}
}
Sample response
{
"count": 2,
"value": [
{
"commitId": "67cae2b029dff7eb3dc062b49403aaedca5bad8d",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-01-29T23:52:56Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-01-29T23:52:56Z"
},
"comment": "home page",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/67cae2b029dff7eb3dc062b49403aaedca5bad8d",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/67cae2b029dff7eb3dc062b49403aaedca5bad8d"
},
{
"commitId": "be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-01-29T23:32:09Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-01-29T23:32:09Z"
},
"comment": "First cut",
"changeCounts": {
"Add": 305
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4"
}
]
}
For an item
Get all the commits that included changes to an item. Note: When specifying itemPath
, if you do not also specify a branch or commit, then the search will begin at the default branch (or any branch, if no default branch exists).
Sample request
GET https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits?branch=master&itemPath=/MyWebSite/MyWebSite/Views/Home/_Home.cshtml&api-version=1.0
Sample response
{
"count": 2,
"value": [
{
"commitId": "67cae2b029dff7eb3dc062b49403aaedca5bad8d",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-01-29T23:52:56Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-01-29T23:52:56Z"
},
"comment": "home page",
"changeCounts": {
"Edit": 1
},
"changes": [
{
"sourceServerItem": "/MyWebSite/MyWebSite/Views/Home/_Home.cshtml",
"changeType": "edit"
}
],
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/67cae2b029dff7eb3dc062b49403aaedca5bad8d",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/67cae2b029dff7eb3dc062b49403aaedca5bad8d"
},
{
"commitId": "be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-01-29T23:32:09Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-01-29T23:32:09Z"
},
"comment": "First cut",
"changeCounts": {
"Add": 305
},
"changes": [
{
"sourceServerItem": "/MyWebSite/MyWebSite/Views/Home/_Home.cshtml",
"changeType": "add"
}
],
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4"
}
]
}
Sample request
GET https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits?commit=f41fbd7a791a3a89701bbd4f6763b916c49f7b38&itemPath=/MyWebSite/MyWebSite/Views/Home/_Home.cshtml&api-version=1.0
Sample response
{
"count": 2,
"value": [
{
"commitId": "67cae2b029dff7eb3dc062b49403aaedca5bad8d",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-01-29T23:52:56Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-01-29T23:52:56Z"
},
"comment": "home page",
"changeCounts": {
"Edit": 1
},
"changes": [
{
"sourceServerItem": "/MyWebSite/MyWebSite/Views/Home/_Home.cshtml",
"changeType": "edit"
}
],
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/67cae2b029dff7eb3dc062b49403aaedca5bad8d",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/67cae2b029dff7eb3dc062b49403aaedca5bad8d"
},
{
"commitId": "be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-01-29T23:32:09Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-01-29T23:32:09Z"
},
"comment": "First cut",
"changeCounts": {
"Add": 305
},
"changes": [
{
"sourceServerItem": "/MyWebSite/MyWebSite/Views/Home/_Home.cshtml",
"changeType": "add"
}
],
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4"
}
]
}
By the committer
Get the commits based on the person who committed them to the repository.
Sample request
GET https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits?committer=Chuck Reinhart&api-version=1.0
Sample response
{
"count": 4,
"value": [
{
"commitId": "097d82b8aeabe493bf4c3553d320ae2529bba591",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-06-09T21:43:25Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-06-09T21:43:25Z"
},
"comment": "fix registration page",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/097d82b8aeabe493bf4c3553d320ae2529bba591",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/097d82b8aeabe493bf4c3553d320ae2529bba591"
},
{
"commitId": "03b1b831e41df536d836c95e2f68a42db4f3e0db",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-02-10T21:52:47Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-02-10T21:52:47Z"
},
"comment": "Add Hello World to TFS",
"changeCounts": {
"Add": 5
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/03b1b831e41df536d836c95e2f68a42db4f3e0db",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/03b1b831e41df536d836c95e2f68a42db4f3e0db"
},
{
"commitId": "67cae2b029dff7eb3dc062b49403aaedca5bad8d",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-01-29T23:52:56Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-01-29T23:52:56Z"
},
"comment": "home page",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/67cae2b029dff7eb3dc062b49403aaedca5bad8d",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/67cae2b029dff7eb3dc062b49403aaedca5bad8d"
},
{
"commitId": "be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-01-29T23:32:09Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-01-29T23:32:09Z"
},
"comment": "First cut",
"changeCounts": {
"Add": 305
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4"
}
]
}
By the author
Get the commits based on who authored the files that were committed to the repository.
Sample request
GET https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits?author=Chuck Reinhart&api-version=1.0
Sample response
{
"count": 4,
"value": [
{
"commitId": "097d82b8aeabe493bf4c3553d320ae2529bba591",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-06-09T21:43:25Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-06-09T21:43:25Z"
},
"comment": "fix registration page",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/097d82b8aeabe493bf4c3553d320ae2529bba591",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/097d82b8aeabe493bf4c3553d320ae2529bba591"
},
{
"commitId": "03b1b831e41df536d836c95e2f68a42db4f3e0db",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-02-10T21:52:47Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-02-10T21:52:47Z"
},
"comment": "Add Hello World to TFS",
"changeCounts": {
"Add": 5
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/03b1b831e41df536d836c95e2f68a42db4f3e0db",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/03b1b831e41df536d836c95e2f68a42db4f3e0db"
},
{
"commitId": "67cae2b029dff7eb3dc062b49403aaedca5bad8d",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-01-29T23:52:56Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-01-29T23:52:56Z"
},
"comment": "home page",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/67cae2b029dff7eb3dc062b49403aaedca5bad8d",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/67cae2b029dff7eb3dc062b49403aaedca5bad8d"
},
{
"commitId": "be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-01-29T23:32:09Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-01-29T23:32:09Z"
},
"comment": "First cut",
"changeCounts": {
"Add": 305
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4"
}
]
}
In a date range
Sample request
GET https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits?fromDate=2014-01-29T23:32:09Z&toDate=2014-01-29T23:32:09Z&api-version=1.0
Sample response
{
"count": 1,
"value": [
{
"commitId": "be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-01-29T23:32:09Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-01-29T23:32:09Z"
},
"comment": "First cut",
"changeCounts": {
"Add": 305
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4"
}
]
}
A page at a time
Sample request
GET https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits?$skip=1&$top=2&api-version=1.0
Sample response
{
"count": 2,
"value": [
{
"commitId": "fe17a84cc2dfe0ea3a2202ab4dbac0706058e41f",
"author": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-06-30T17:51:09Z"
},
"committer": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-06-30T17:51:09Z"
},
"comment": "Better description for hello world",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/fe17a84cc2dfe0ea3a2202ab4dbac0706058e41f",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/fe17a84cc2dfe0ea3a2202ab4dbac0706058e41f"
},
{
"commitId": "0360c963d7d86d040e9c33bba836feab14da4ad3",
"author": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-06-10T19:42:13Z"
},
"committer": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-06-10T19:42:13Z"
},
"comment": "Fix for hello world class",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/0360c963d7d86d040e9c33bba836feab14da4ad3",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/0360c963d7d86d040e9c33bba836feab14da4ad3"
}
]
}
From a push
Get the commits that were introduced to the repo by a push. It doesn't include commits that already existed in the repo, for instance on another branch.
Sample request
GET https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/pushes/1/commits?api-version=1.0
Sample response
{
"count": 1,
"value": [
{
"commitId": "be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-01-29T23:32:09Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-01-29T23:32:09Z"
},
"comment": "First cut",
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4",
"_links": {
"self": {
"href": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4"
},
"repository": {
"href": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249"
},
"web": {
"href": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4"
},
"changes": {
"href": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4/changes"
}
}
}
]
}
Get a batch of commits
POST https://{instance}/DefaultCollection/{project}/_apis/git/repositories/{repository}/commitsBatch?api-version={version}
Parameter | Type | Default | Notes |
---|---|---|---|
URL | |||
instance | string | TFS server name ({server:port}). | |
project | string | ID or name of the project. Optional if specifying an ID for repository. | |
repository | string | ID of the repository. | |
Query | |||
api-version | string | Version of the API to use. |
By a list of commit IDs
Send a POST request with a list of IDs you want.
Between two versions
To return the set of commits in the history of one version that are not in the history of another, send a POST request and send the items versions in the request body.
Sample request
POST https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commitsBatch?api-version=1.0
{
"itemVersion": {
"versionType": "branch",
"version": "develop"
},
"compareVersion": {
"versionType": "branch",
"version": "master"
}
}
Sample response
{
"count": 17,
"value": [
{
"commitId": "23d0bc5b128a10056dc68afece360d8a0fabb014",
"author": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-06-30T18:10:55Z"
},
"committer": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-06-30T18:10:55Z"
},
"comment": "Better description for hello world",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/23d0bc5b128a10056dc68afece360d8a0fabb014",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/23d0bc5b128a10056dc68afece360d8a0fabb014"
},
{
"commitId": "fe17a84cc2dfe0ea3a2202ab4dbac0706058e41f",
"author": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-06-30T17:51:09Z"
},
"committer": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-06-30T17:51:09Z"
},
"comment": "Better description for hello world",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/fe17a84cc2dfe0ea3a2202ab4dbac0706058e41f",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/fe17a84cc2dfe0ea3a2202ab4dbac0706058e41f"
},
{
"commitId": "0360c963d7d86d040e9c33bba836feab14da4ad3",
"author": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-06-10T19:42:13Z"
},
"committer": {
"name": "Norman Paulk",
"email": "[email protected]",
"date": "2014-06-10T19:42:13Z"
},
"comment": "Fix for hello world class",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/0360c963d7d86d040e9c33bba836feab14da4ad3",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/0360c963d7d86d040e9c33bba836feab14da4ad3"
},
{
"commitId": "097d82b8aeabe493bf4c3553d320ae2529bba591",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-06-09T21:43:25Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-06-09T21:43:25Z"
},
"comment": "fix registration page",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/097d82b8aeabe493bf4c3553d320ae2529bba591",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/097d82b8aeabe493bf4c3553d320ae2529bba591"
},
{
"commitId": "33b55f7cb7e7e245323987634f960cf4a6e6bc74",
"author": {
"name": "Will Smythe",
"email": "[email protected]",
"date": "2014-05-02T19:17:05Z"
},
"committer": {
"name": "Will Smythe",
"email": "[email protected]",
"date": "2014-05-02T19:17:05Z"
},
"comment": "Fixed bug in web.config file",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/33b55f7cb7e7e245323987634f960cf4a6e6bc74",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/33b55f7cb7e7e245323987634f960cf4a6e6bc74"
},
{
"commitId": "aad331d8d3b131fa9ae03cf5e53965b51942618a",
"author": {
"name": "Howie Hilliker",
"email": "[email protected]",
"date": "2014-04-14T21:34:52Z"
},
"committer": {
"name": "Howie Hilliker",
"email": "[email protected]",
"date": "2014-04-14T21:34:52Z"
},
"comment": "Fixed bug for address validation.",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/aad331d8d3b131fa9ae03cf5e53965b51942618a",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/aad331d8d3b131fa9ae03cf5e53965b51942618a"
},
{
"commitId": "7c18355d8c2d946c5e1ce7a56f49653854445a1a",
"author": {
"name": "Howie Hilliker",
"email": "[email protected]",
"date": "2014-03-28T17:05:58Z"
},
"committer": {
"name": "Howie Hilliker",
"email": "[email protected]",
"date": "2014-03-28T17:05:58Z"
},
"comment": "Added validation logic.",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/7c18355d8c2d946c5e1ce7a56f49653854445a1a",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/7c18355d8c2d946c5e1ce7a56f49653854445a1a"
},
{
"commitId": "cdaeef70a358ede7b4dc7b4a089f3853f37a6d2c",
"author": {
"name": "Howie Hilliker",
"email": "[email protected]",
"date": "2014-03-27T19:51:11Z"
},
"committer": {
"name": "Howie Hilliker",
"email": "[email protected]",
"date": "2014-03-27T19:51:11Z"
},
"comment": "Added validation logic for zip code.",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/cdaeef70a358ede7b4dc7b4a089f3853f37a6d2c",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/cdaeef70a358ede7b4dc7b4a089f3853f37a6d2c"
},
{
"commitId": "ef837766c5eb3ae81a4c663d36bf95a8aed91312",
"author": {
"name": "Howie Hilliker",
"email": "[email protected]",
"date": "2014-03-26T20:25:39Z"
},
"committer": {
"name": "Howie Hilliker",
"email": "[email protected]",
"date": "2014-03-26T20:25:39Z"
},
"comment": "Add validation code for zip code values.",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/ef837766c5eb3ae81a4c663d36bf95a8aed91312",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/ef837766c5eb3ae81a4c663d36bf95a8aed91312"
},
{
"commitId": "bd73638408daff89bcdac549a5a3396c9a7ce9dd",
"author": {
"name": "Howie Hilliker",
"email": "[email protected]",
"date": "2014-03-26T18:56:21Z"
},
"committer": {
"name": "Howie Hilliker",
"email": "[email protected]",
"date": "2014-03-26T18:56:21Z"
},
"comment": "Added validation logic for zip code values.",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/bd73638408daff89bcdac549a5a3396c9a7ce9dd",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/bd73638408daff89bcdac549a5a3396c9a7ce9dd"
},
{
"commitId": "03bea1cebffa5726da0e3c0bc1487796d0dd0ee8",
"author": {
"name": "Howie Hilliker",
"email": "[email protected]",
"date": "2014-03-26T18:42:24Z"
},
"committer": {
"name": "Howie Hilliker",
"email": "[email protected]",
"date": "2014-03-26T18:42:24Z"
},
"comment": "Added validation logic for address values.",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/03bea1cebffa5726da0e3c0bc1487796d0dd0ee8",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/03bea1cebffa5726da0e3c0bc1487796d0dd0ee8"
},
{
"commitId": "c093714168cdd190c1e171a803e996d685454352",
"author": {
"name": "Howie Hilliker",
"email": "[email protected]",
"date": "2014-03-26T18:37:32Z"
},
"committer": {
"name": "Howie Hilliker",
"email": "[email protected]",
"date": "2014-03-26T18:37:32Z"
},
"comment": "Added validation logic for zip code values.",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/c093714168cdd190c1e171a803e996d685454352",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/c093714168cdd190c1e171a803e996d685454352"
},
{
"commitId": "3d203ea73427cec36b77a3a5a2e4f1f8ba7de170",
"author": {
"name": "Howie Hilliker",
"email": "[email protected]",
"date": "2014-03-26T18:00:14Z"
},
"committer": {
"name": "Howie Hilliker",
"email": "[email protected]",
"date": "2014-03-26T18:00:14Z"
},
"comment": "Added code.",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/3d203ea73427cec36b77a3a5a2e4f1f8ba7de170",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/3d203ea73427cec36b77a3a5a2e4f1f8ba7de170"
},
{
"commitId": "1eea03b2ad9f14a5e7297c1307e36c980eb910ea",
"author": {
"name": "Howie Hilliker",
"email": "[email protected]",
"date": "2014-03-26T16:17:11Z"
},
"committer": {
"name": "Howie Hilliker",
"email": "[email protected]",
"date": "2014-03-26T16:17:11Z"
},
"comment": "Added code.",
"changeCounts": {
"Edit": 1
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/1eea03b2ad9f14a5e7297c1307e36c980eb910ea",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/1eea03b2ad9f14a5e7297c1307e36c980eb910ea"
},
{
"commitId": "c40b5ceb9c77096b9f59e6a9193dae527bda79d9",
"author": {
"name": "Howie Hilliker",
"email": "[email protected]",
"date": "2014-03-10T20:54:10Z"
},
"committer": {
"name": "Howie Hilliker",
"email": "[email protected]",
"date": "2014-03-10T20:54:10Z"
},
"comment": "Added method for submitting new customer address.",
"changeCounts": {
"Edit": 2
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/c40b5ceb9c77096b9f59e6a9193dae527bda79d9",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/c40b5ceb9c77096b9f59e6a9193dae527bda79d9"
},
{
"commitId": "6ff5e8f6256cc58aa062dbb1e096c1e3b3435ebe",
"author": {
"name": "Howie Hilliker",
"email": "[email protected]",
"date": "2014-03-10T20:50:08Z"
},
"committer": {
"name": "Howie Hilliker",
"email": "[email protected]",
"date": "2014-03-10T20:50:08Z"
},
"comment": "Adding customer address module project",
"changeCounts": {
"Add": 12
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/6ff5e8f6256cc58aa062dbb1e096c1e3b3435ebe",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/6ff5e8f6256cc58aa062dbb1e096c1e3b3435ebe"
},
{
"commitId": "03b1b831e41df536d836c95e2f68a42db4f3e0db",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-02-10T21:52:47Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-02-10T21:52:47Z"
},
"comment": "Add Hello World to TFS",
"changeCounts": {
"Add": 5
},
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/03b1b831e41df536d836c95e2f68a42db4f3e0db",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/03b1b831e41df536d836c95e2f68a42db4f3e0db"
}
]
}
Get a single commit
GET https://{instance}/DefaultCollection/{project}/_apis/git/repositories/{repository}/commits/{commitId}?api-version={version}[&changeCount={integer}]
Parameter | Type | Default | Notes |
---|---|---|---|
URL | |||
instance | string | TFS server name ({server:port}). | |
project | string | ID or name of the project. Optional if specifying an ID for repository. | |
repository | string | ID of the repository. | |
commitId | string | ID of the commit. | |
Query | |||
api-version | string | Version of the API to use. | |
changeCount | integer | 0 | The number of changes in the commit to include in the response. |
Just the commit
Sample request
GET https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4?api-version=1.0
Sample response
{
"parents": [],
"treeId": "7fa1a3523ffef51c525ea476bffff7d648b8cb3d",
"push": {
"pushedBy": {
"id": "8c8c7d32-6b1b-47f4-b2e9-30b477b5ab3d",
"displayName": "Chuck Reinhart",
"uniqueName": "[email protected]",
"url": "https://mytfsserver/DefaultCollection/_apis/Identities/8c8c7d32-6b1b-47f4-b2e9-30b477b5ab3d",
"imageUrl": "https://mytfsserver/DefaultCollection/_api/_common/identityImage?id=8c8c7d32-6b1b-47f4-b2e9-30b477b5ab3d"
},
"pushId": 1,
"date": "2014-01-29T23:33:15.2434002Z"
},
"commitId": "be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-01-29T23:32:09Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-01-29T23:32:09Z"
},
"comment": "First cut\n",
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4",
"_links": {
"self": {
"href": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4"
},
"repository": {
"href": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249"
},
"changes": {
"href": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4/changes"
},
"web": {
"href": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4"
},
"tree": {
"href": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/trees/7fa1a3523ffef51c525ea476bffff7d648b8cb3d"
}
}
}
With changed items
Sample request
GET https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4?changeCount=10&api-version=1.0
Sample response
{
"parents": [],
"treeId": "7fa1a3523ffef51c525ea476bffff7d648b8cb3d",
"push": {
"pushedBy": {
"id": "8c8c7d32-6b1b-47f4-b2e9-30b477b5ab3d",
"displayName": "Chuck Reinhart",
"uniqueName": "[email protected]",
"url": "https://mytfsserver/DefaultCollection/_apis/Identities/8c8c7d32-6b1b-47f4-b2e9-30b477b5ab3d",
"imageUrl": "https://mytfsserver/DefaultCollection/_api/_common/identityImage?id=8c8c7d32-6b1b-47f4-b2e9-30b477b5ab3d"
},
"pushId": 1,
"date": "2014-01-29T23:33:15.2434002Z"
},
"commitId": "be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4",
"author": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-01-29T23:32:09Z"
},
"committer": {
"name": "Chuck Reinhart",
"email": "[email protected]",
"date": "2014-01-29T23:32:09Z"
},
"comment": "First cut\n",
"changeCounts": {
"Add": 456
},
"changes": [
{
"item": {
"gitObjectType": "blob",
"path": "/.gitattributes",
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/items/.gitattributes?versionType=Commit"
},
"changeType": "add"
},
{
"item": {
"gitObjectType": "blob",
"path": "/.gitignore",
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/items/.gitignore?versionType=Commit"
},
"changeType": "add"
},
{
"item": {
"gitObjectType": "tree",
"path": "/MyWebSite",
"isFolder": true,
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/items/MyWebSite?versionType=Commit"
},
"changeType": "add"
},
{
"item": {
"gitObjectType": "tree",
"path": "/MyWebSite/MyWebSite",
"isFolder": true,
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/items/MyWebSite/MyWebSite?versionType=Commit"
},
"changeType": "add"
},
{
"item": {
"gitObjectType": "blob",
"path": "/MyWebSite/MyWebSite.sln",
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/items/MyWebSite/MyWebSite.sln?versionType=Commit"
},
"changeType": "add"
},
{
"item": {
"gitObjectType": "tree",
"path": "/MyWebSite/packages",
"isFolder": true,
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/items/MyWebSite/packages?versionType=Commit"
},
"changeType": "add"
},
{
"item": {
"gitObjectType": "tree",
"path": "/MyWebSite/MyWebSite/App_Start",
"isFolder": true,
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/items/MyWebSite/MyWebSite/App_Start?versionType=Commit"
},
"changeType": "add"
},
{
"item": {
"gitObjectType": "tree",
"path": "/MyWebSite/MyWebSite/Areas",
"isFolder": true,
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/items/MyWebSite/MyWebSite/Areas?versionType=Commit"
},
"changeType": "add"
},
{
"item": {
"gitObjectType": "tree",
"path": "/MyWebSite/MyWebSite/Content",
"isFolder": true,
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/items/MyWebSite/MyWebSite/Content?versionType=Commit"
},
"changeType": "add"
},
{
"item": {
"gitObjectType": "tree",
"path": "/MyWebSite/MyWebSite/Controllers",
"isFolder": true,
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/items/MyWebSite/MyWebSite/Controllers?versionType=Commit"
},
"changeType": "add"
}
],
"url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4",
"remoteUrl": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4",
"_links": {
"self": {
"href": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4"
},
"repository": {
"href": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249"
},
"changes": {
"href": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4/changes"
},
"web": {
"href": "https://mytfsserver/DefaultCollection/_git/Fabrikam-Fiber-Git/commit/be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4"
},
"tree": {
"href": "https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/trees/7fa1a3523ffef51c525ea476bffff7d648b8cb3d"
}
}
}
Commit status
Commit status allows you to mark commits with status information from other systems. For instance, it's used in VSTS to surface build status in the web UI.
Add status
POST https://{instance}/DefaultCollection/{project}/_apis/git/repositories/{repository}/commits/{commit}/statuses?api-version={version}
{
"state": {string},
"description": {string},
"targetURL": {string},
"context": {
"name": {string},
"genre": {string}
}
}
Parameter | Type | Notes |
---|---|---|
URL | ||
instance | string | TFS server name ({server:port}). |
project | string | ID or name of the project. Optional if specifying an ID for repository. |
Query | ||
api-version | string | Version of the API to use. |
Body | ||
state | enum { Pending, Succeeded, Failed, Error } | The state of the commit. |
description | string | Description of the status. Example: "The build is successful". |
targetUrl | string | Url of the target. |
context.name | string | Name of the status. Example: Build123. |
context.genre | string | Type of the status. Example: continuous-integration. |
Sample request
POST https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/67cae2b029dff7eb3dc062b49403aaedca5bad8d/statuses?api-version=2.1
{
"state": "succeeded",
"description": "The build is successful",
"targetUrl": "https://ci.fabrikam.com/my-project/build/123 ",
"context": {
"name": "Build123",
"genre": "continuous-integration"
}
}
Sample response
{
"state": "succeeded",
"description": "The build is successful",
"context": {
"name": "Build123",
"genre": "continuous-integration"
},
"creationDate": "2016-01-27T09:33:07Z",
"createdBy": {
"id": "278d5cd2-584d-4b63-824a-2ba458937249",
"displayName": "Norman Paulk",
"uniqueName": "Fabrikamfiber16",
"url": "https://mytfsserver/DefaultCollection/_apis/Identities/278d5cd2-584d-4b63-824a-2ba458937249",
"imageUrl": "https://mytfsserver/DefaultCollection/_api/_common/identityImage?id=278d5cd2-584d-4b63-824a-2ba458937249"
},
"targetUrl": "https://ci.fabrikam.com/my-project/build/123 "
}
Get statuses
GET https://{instance}/DefaultCollection/{project}/_apis/git/repositories/{repository}/commits/{commit}/statuses?api-version={version}
Parameter | Type | Notes |
---|---|---|
URL | ||
instance | string | TFS server name ({server:port}). |
project | string | ID or name of the project. Optional if specifying an ID for repository. |
Query | ||
api-version | string | Version of the API to use. |
Sample request
GET https://mytfsserver/DefaultCollection/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/67cae2b029dff7eb3dc062b49403aaedca5bad8d/statuses?api-version=2.1
Sample response
{
"count": 1,
"value": [
{
"state": "succeeded",
"description": "The build is successful",
"context": {
"name": "Build123",
"genre": "continuous-integration"
},
"creationDate": "2016-01-27T09:33:07Z",
"createdBy": {
"id": "278d5cd2-584d-4b63-824a-2ba458937249",
"displayName": "Norman Paulk",
"uniqueName": "Fabrikamfiber16",
"url": "https://mytfsserver/DefaultCollection/_apis/Identities/278d5cd2-584d-4b63-824a-2ba458937249",
"imageUrl": "https://mytfsserver/DefaultCollection/_api/_common/identityImage?id=278d5cd2-584d-4b63-824a-2ba458937249"
},
"targetUrl": "https://ci.fabrikam.com/my-project/build/123 "
}
]
}