Repositories - Create

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

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

URI 参数

名称 必需 类型 说明
organization
path True

string

Azure DevOps 组织的名称。

project
path

string

项目 ID 或项目名称

api-version
query True

string

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

sourceRef
query

string

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

请求正文

名称 类型 说明
name

string

parentRepository

GitRepositoryRef

project

TeamProjectReference

表示对 TeamProject 的浅表引用。

响应

名称 类型 说明
201 Created

GitRepository

创建

安全性

oauth2

类型: oauth2
流向: accessCode
授权 URL: https://app.vssps.visualstudio.com/oauth2/authorize&response_type=Assertion
令牌 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

作用域

名称 说明
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

示例请求

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

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

示例响应

{
  "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

示例请求

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

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

示例响应

{
  "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

示例请求

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

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

示例响应

{
  "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 (uuid)

isDisabled

boolean

如果禁用存储库,则为 True。 否则为 False。

isFork

boolean

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

isInMaintenance

boolean

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

name

string

parentRepository

GitRepositoryRef

project

TeamProjectReference

表示对 TeamProject 的浅表引用。

remoteUrl

string

size

integer (int64)

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

sshUrl

string

url

string

validRemoteUrls

string[]

webUrl

string

GitRepositoryCreateOptions

名称 类型 说明
name

string

parentRepository

GitRepositoryRef

project

TeamProjectReference

表示对 TeamProject 的浅表引用。

GitRepositoryRef

名称 类型 说明
collection

TeamProjectCollectionReference

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

id

string (uuid)

isFork

boolean

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

name

string

project

TeamProjectReference

表示对 TeamProject 的浅表引用。

remoteUrl

string

sshUrl

string

url

string

ProjectState

项目状态。

说明
all

所有项目,无论状态如何,都已删除。

createPending

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

deleted

项目已被删除。

deleting

项目正在删除。

new

正在创建项目。

unchanged

项目尚未更改。

wellFormed

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

ProjectVisibility

项目可见性。

说明
private

只有具有显式访问权限的用户才能看到该项目。

public

项目对所有人可见。

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

名称 类型 说明
links

object

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

TeamProjectCollectionReference

TeamProjectCollection 的引用对象。

名称 类型 说明
avatarUrl

string

集合头像 URL。

id

string (uuid)

集合 ID。

name

string

集合名称。

url

string

集合 REST URL。

TeamProjectReference

表示对 TeamProject 的浅表引用。

名称 类型 说明
abbreviation

string

项目缩写。

defaultTeamImageUrl

string

指向默认团队标识映像的 URL。

description

string

项目的说明(如果有)。

id

string (uuid)

项目标识符。

lastUpdateTime

string (date-time)

上次更新时间的项目。

name

string

项目名称。

revision

integer (int64)

项目修订。

state

ProjectState

项目状态。

url

string

指向对象完整版本的 URL。

visibility

ProjectVisibility

项目可见性。