Repositories - Create

在团队项目中创建 git 存储库。

POST https://dev.azure.com/{organization}/{project}/_apis/git/repositories?api-version=7.1-preview.1
POST https://dev.azure.com/{organization}/{project}/_apis/git/repositories?sourceRef={sourceRef}&api-version=7.1-preview.1

URI 参数

名称 必需 类型 说明
organization
path True

string

Azure DevOps 组织的名称。

project
path

string

项目 ID 或项目名称

api-version
query True

string

要使用的 API 版本。 这应设置为“7.1-preview.1”才能使用此版本的 API。

sourceRef
query

string

[可选]指定创建分叉存储库时要使用的源引用

请求正文

名称 类型 说明
name

string

parentRepository

GitRepositoryRef

project

TeamProjectReference

表示对 TeamProject 的浅表引用。

响应

名称 类型 说明
201 Created

GitRepository

创建

安全性

oauth2

Type: oauth2
Flow: accessCode
Authorization URL: https://app.vssps.visualstudio.com/oauth2/authorize&response_type=Assertion
Token URL: https://app.vssps.visualstudio.com/oauth2/token?client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer

Scopes

名称 说明
vso.code_manage 授予读取、更新和删除源代码、访问有关提交、更改集、分支和其他版本控制项目元数据的能力。 此外,还授予创建和管理代码存储库、创建和管理拉取请求和代码评审以及通过服务挂钩接收有关版本控制事件的通知的能力。

示例

Create a fork of a parent repository
Create a fork of a parent repository syncing only the provided refs
Create a repository

Create a fork of a parent repository

Sample Request

POST https://dev.azure.com/{organization}/_apis/git/repositories?api-version=7.1-preview.1

{
  "name": "forkRepository",
  "project": {
    "id": "3b046b6a-d070-4cd5-ad59-2eace5d05b90"
  },
  "parentRepository": {
    "id": "57a09b16-c635-4ec9-bd6b-d501fec4eb7b",
    "project": {
      "id": "3b046b6a-d070-4cd5-ad59-2eace5d05b90"
    }
  }
}

Sample Response

{
  "id": "76b510af-7910-4a96-9902-b978d6226bee",
  "name": "forkRepository",
  "url": "https://dev.azure.com/fabrikam/MyFirstProject/_apis/git/repositories/76b510af-7910-4a96-9902-b978d6226bee",
  "project": {
    "id": "3b046b6a-d070-4cd5-ad59-2eace5d05b90",
    "name": "MyFirstProject",
    "url": "https://dev.azure.com/fabrikam/_apis/projects/3b046b6a-d070-4cd5-ad59-2eace5d05b90",
    "state": "wellFormed",
    "revision": 11,
    "visibility": "private",
    "defaultTeamImageUrl": null
  },
  "size": 0,
  "remoteUrl": "https://dev.azure.com/fabrikam/MyFirstProject/_git/forkRepository",
  "sshUrl": "git@ssh.dev.azure.com:v3/fabrikam/MyFirstProject/forkRepository",
  "isFork": true,
  "_links": {
    "forkSyncOperation": {
      "href": "https://dev.azure.com/fabrikam/_apis/git/repositories/76b510af-7910-4a96-9902-b978d6226bee/forkSyncRequests/8"
    }
  }
}

Create a fork of a parent repository syncing only the provided refs

Sample Request

POST https://dev.azure.com/{organization}/_apis/git/repositories?sourceRef=users/heads/master&api-version=7.1-preview.1

{
  "name": "forkRepositoryWithOnlySourceRef",
  "project": {
    "id": "3b046b6a-d070-4cd5-ad59-2eace5d05b90"
  },
  "parentRepository": {
    "id": "76b510af-7910-4a96-9902-b978d6226bee",
    "project": {
      "id": "3b046b6a-d070-4cd5-ad59-2eace5d05b90"
    }
  }
}

Sample Response

{
  "id": "29230c30-9125-459b-a3f6-ffab329053bd",
  "name": "forkRepositoryWithOnlySourceRef",
  "url": "https://dev.azure.com/fabrikam/MyFirstProject/_apis/git/repositories/29230c30-9125-459b-a3f6-ffab329053bd",
  "project": {
    "id": "3b046b6a-d070-4cd5-ad59-2eace5d05b90",
    "name": "MyFirstProject",
    "url": "https://dev.azure.com/fabrikam/_apis/projects/3b046b6a-d070-4cd5-ad59-2eace5d05b90",
    "state": "wellFormed",
    "revision": 12,
    "visibility": "private",
    "defaultTeamImageUrl": null
  },
  "size": 0,
  "remoteUrl": "https://dev.azure.com/fabrikam/MyFirstProject/_git/forkRepositoryWithOnlySourceRef",
  "sshUrl": "git@ssh.dev.azure.com:v3/fabrikam/MyFirstProject/forkRepositoryWithOnlySourceRef",
  "isFork": true,
  "_links": {
    "forkSyncOperation": {
      "href": "https://dev.azure.com/fabrikam/_apis/git/repositories/29230c30-9125-459b-a3f6-ffab329053bd/forkSyncRequests/7"
    }
  }
}

Create a repository

Sample Request

POST https://dev.azure.com/fabrikam/_apis/git/repositories?api-version=7.1-preview.1

{
  "name": "AnotherRepository",
  "project": {
    "id": "6ce954b1-ce1f-45d1-b94d-e6bf2464ba2c"
  }
}

Sample Response

{
  "id": "5febef5a-833d-4e14-b9c0-14cb638f91e6",
  "name": "AnotherRepository",
  "url": "https://dev.azure.com/fabrikam/_apis/git/repositories/5febef5a-833d-4e14-b9c0-14cb638f91e6",
  "project": {
    "id": "6ce954b1-ce1f-45d1-b94d-e6bf2464ba2c",
    "name": "Fabrikam-Fiber-Git",
    "url": "https://dev.azure.com/fabrikam/_apis/projects/6ce954b1-ce1f-45d1-b94d-e6bf2464ba2c",
    "state": "wellFormed"
  },
  "remoteUrl": "https://dev.azure.com/fabrikam/Fabrikam-Fiber-Git/_git/AnotherRepository"
}

定义

名称 说明
GitRepository
GitRepositoryCreateOptions
GitRepositoryRef
ProjectState

项目状态。

ProjectVisibility

项目可见性。

ReferenceLinks

表示 REST 引用链接集合的类。

TeamProjectCollectionReference

TeamProjectCollection 的引用对象。

TeamProjectReference

表示对 TeamProject 的浅表引用。

GitRepository

名称 类型 说明
_links

ReferenceLinks

表示 REST 引用链接集合的类。

defaultBranch

string

id

string

isDisabled

boolean

如果存储库处于禁用状态,则为 True。 否则为 False。

isFork

boolean

如此 如果存储库创建为分叉。

isInMaintenance

boolean

如果存储库处于维护状态,则为 True。 否则为 False。

name

string

parentRepository

GitRepositoryRef

project

TeamProjectReference

表示对 TeamProject 的浅表引用。

remoteUrl

string

size

integer

存储库的压缩大小 (字节) 。

sshUrl

string

url

string

validRemoteUrls

string[]

webUrl

string

GitRepositoryCreateOptions

名称 类型 说明
name

string

parentRepository

GitRepositoryRef

project

TeamProjectReference

表示对 TeamProject 的浅表引用。

GitRepositoryRef

名称 类型 说明
collection

TeamProjectCollectionReference

此分支所在的团队项目集合

id

string

isFork

boolean

如此 如果存储库是作为分支创建的

name

string

project

TeamProjectReference

表示对 TeamProject 的浅表引用。

remoteUrl

string

sshUrl

string

url

string

ProjectState

项目状态。

名称 类型 说明
all

string

所有项目,不考虑状态,已删除。

createPending

string

项目已排队等待创建,但该过程尚未启动。

deleted

string

已删除项目。

deleting

string

正在删除 Project。

new

string

项目正在创建过程中。

unchanged

string

项目尚未更改。

wellFormed

string

项目已完全创建并可供使用。

ProjectVisibility

项目可见性。

名称 类型 说明
private

string

项目仅对具有显式访问权限的用户可见。

public

string

项目对所有人都可见。

表示 REST 引用链接集合的类。

名称 类型 说明
links

object

链接的只读视图。 由于引用链接是只读的,因此我们只想将其公开为只读。

TeamProjectCollectionReference

TeamProjectCollection 的引用对象。

名称 类型 说明
avatarUrl

string

集合头像 URL。

id

string

集合 ID。

name

string

集合名称。

url

string

集合 REST URL。

TeamProjectReference

表示对 TeamProject 的浅表引用。

名称 类型 说明
abbreviation

string

项目缩写。

defaultTeamImageUrl

string

默认团队标识图像的 URL。

description

string

如果有任何) ,项目说明 (。

id

string

项目标识符。

lastUpdateTime

string

Project 上次更新时间。

name

string

项目名称。

revision

integer

项目修订。

state

ProjectState

项目状态。

url

string

对象完整版本的 URL。

visibility

ProjectVisibility

项目可见性。