Referencias de Git
Uso de la API de REST para interactuar con referencias en la base de datos de Git en GitHub Enterprise Server
Acerca de las referencias de Git
Una referencia de Git (git ref
) es un archivo que contiene un hash SHA-1 de una confirmación de Git. Al hacer referencia a una confirmación de Git, puede usar la referencia de Git, que es un nombre fácil de recordar, en lugar del hash. La referencia de Git se puede reescribir para apuntar a una confirmación nueva. Una rama es una referencia de Git que almacena el hash de la nueva confirmación de Git. Estos puntos de conexión permiten leer y escribir referencias en la base de datos de Git en GitHub Enterprise Server.
List matching references
Returns an array of references from your Git database that match the supplied name. The :ref
in the URL must be formatted as heads/<branch name>
for branches and tags/<tag name>
for tags. If the :ref
doesn't exist in the repository, but existing refs start with :ref
, they will be returned as an array.
When you use this endpoint without providing a :ref
, it will return an array of all the references from your Git database, including notes and stashes if they exist on the server. Anything in the namespace is returned, not just heads
and tags
.
Note: You need to explicitly request a pull request to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "Checking mergeability of pull requests".
If you request matching references for a branch named feature
but the branch feature
doesn't exist, the response can still include other matching head refs that start with the word feature
, such as featureA
and featureB
.
Parámetros para "List matching references"
Encabezados |
---|
Nombre, Tipo, Descripción |
accept string Setting to |
Parámetros de la ruta de acceso |
Nombre, Tipo, Descripción |
owner string RequeridoThe account owner of the repository. The name is not case sensitive. |
repo string RequeridoThe name of the repository. The name is not case sensitive. |
ref string Requeridoref parameter |
Códigos de estado de respuesta HTTP para "List matching references"
status code | Descripción |
---|---|
200 | OK |
Ejemplos de código para "List matching references"
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/git/matching-refs/REF
Response
Status: 200
[
{
"ref": "refs/heads/feature-a",
"node_id": "MDM6UmVmcmVmcy9oZWFkcy9mZWF0dXJlLWE=",
"url": "https://HOSTNAME/repos/octocat/Hello-World/git/refs/heads/feature-a",
"object": {
"type": "commit",
"sha": "aa218f56b14c9653891f9e74264a383fa43fefbd",
"url": "https://HOSTNAME/repos/octocat/Hello-World/git/commits/aa218f56b14c9653891f9e74264a383fa43fefbd"
}
},
{
"ref": "refs/heads/feature-b",
"node_id": "MDM6UmVmcmVmcy9oZWFkcy9mZWF0dXJlLWI=",
"url": "https://HOSTNAME/repos/octocat/Hello-World/git/refs/heads/feature-b",
"object": {
"type": "commit",
"sha": "612077ae6dffb4d2fbd8ce0cccaa58893b07b5ac",
"url": "https://HOSTNAME/repos/octocat/Hello-World/git/commits/612077ae6dffb4d2fbd8ce0cccaa58893b07b5ac"
}
}
]
Get a reference
Returns a single reference from your Git database. The :ref
in the URL must be formatted as heads/<branch name>
for branches and tags/<tag name>
for tags. If the :ref
doesn't match an existing ref, a 404
is returned.
Note: You need to explicitly request a pull request to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "Checking mergeability of pull requests".
Parámetros para "Get a reference"
Encabezados |
---|
Nombre, Tipo, Descripción |
accept string Setting to |
Parámetros de la ruta de acceso |
Nombre, Tipo, Descripción |
owner string RequeridoThe account owner of the repository. The name is not case sensitive. |
repo string RequeridoThe name of the repository. The name is not case sensitive. |
ref string Requeridoref parameter |
Códigos de estado de respuesta HTTP para "Get a reference"
status code | Descripción |
---|---|
200 | OK |
404 | Resource not found |
Ejemplos de código para "Get a reference"
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/git/ref/REF
Response
Status: 200
{
"ref": "refs/heads/featureA",
"node_id": "MDM6UmVmcmVmcy9oZWFkcy9mZWF0dXJlQQ==",
"url": "https://HOSTNAME/repos/octocat/Hello-World/git/refs/heads/featureA",
"object": {
"type": "commit",
"sha": "aa218f56b14c9653891f9e74264a383fa43fefbd",
"url": "https://HOSTNAME/repos/octocat/Hello-World/git/commits/aa218f56b14c9653891f9e74264a383fa43fefbd"
}
}
Create a reference
Creates a reference for your repository. You are unable to create new references for empty repositories, even if the commit SHA-1 hash used exists. Empty repositories are repositories without branches.
Parámetros para "Create a reference"
Encabezados |
---|
Nombre, Tipo, Descripción |
accept string Setting to |
Parámetros de la ruta de acceso |
Nombre, Tipo, Descripción |
owner string RequeridoThe account owner of the repository. The name is not case sensitive. |
repo string RequeridoThe name of the repository. The name is not case sensitive. |
Parámetros del cuerpo |
Nombre, Tipo, Descripción |
ref string RequeridoThe name of the fully qualified reference (ie: |
sha string RequeridoThe SHA1 value for this reference. |
Códigos de estado de respuesta HTTP para "Create a reference"
status code | Descripción |
---|---|
201 | Created |
422 | Validation failed, or the endpoint has been spammed. |
Ejemplos de código para "Create a reference"
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/git/refs \
-d '{"ref":"refs/heads/featureA","sha":"aa218f56b14c9653891f9e74264a383fa43fefbd"}'
Response
Status: 201
{
"ref": "refs/heads/featureA",
"node_id": "MDM6UmVmcmVmcy9oZWFkcy9mZWF0dXJlQQ==",
"url": "https://HOSTNAME/repos/octocat/Hello-World/git/refs/heads/featureA",
"object": {
"type": "commit",
"sha": "aa218f56b14c9653891f9e74264a383fa43fefbd",
"url": "https://HOSTNAME/repos/octocat/Hello-World/git/commits/aa218f56b14c9653891f9e74264a383fa43fefbd"
}
}
Update a reference
Parámetros para "Update a reference"
Encabezados |
---|
Nombre, Tipo, Descripción |
accept string Setting to |
Parámetros de la ruta de acceso |
Nombre, Tipo, Descripción |
owner string RequeridoThe account owner of the repository. The name is not case sensitive. |
repo string RequeridoThe name of the repository. The name is not case sensitive. |
ref string RequeridoThe name of the fully qualified reference to update. For example, |
Parámetros del cuerpo |
Nombre, Tipo, Descripción |
sha string RequeridoThe SHA1 value to set this reference to |
force boolean Indicates whether to force the update or to make sure the update is a fast-forward update. Leaving this out or setting it to Valor predeterminado: |
Códigos de estado de respuesta HTTP para "Update a reference"
status code | Descripción |
---|---|
200 | OK |
422 | Validation failed, or the endpoint has been spammed. |
Ejemplos de código para "Update a reference"
curl -L \
-X PATCH \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/git/refs/REF \
-d '{"sha":"aa218f56b14c9653891f9e74264a383fa43fefbd","force":true}'
Response
Status: 200
{
"ref": "refs/heads/featureA",
"node_id": "MDM6UmVmcmVmcy9oZWFkcy9mZWF0dXJlQQ==",
"url": "https://HOSTNAME/repos/octocat/Hello-World/git/refs/heads/featureA",
"object": {
"type": "commit",
"sha": "aa218f56b14c9653891f9e74264a383fa43fefbd",
"url": "https://HOSTNAME/repos/octocat/Hello-World/git/commits/aa218f56b14c9653891f9e74264a383fa43fefbd"
}
}
Delete a reference
Parámetros para "Delete a reference"
Encabezados |
---|
Nombre, Tipo, Descripción |
accept string Setting to |
Parámetros de la ruta de acceso |
Nombre, Tipo, Descripción |
owner string RequeridoThe account owner of the repository. The name is not case sensitive. |
repo string RequeridoThe name of the repository. The name is not case sensitive. |
ref string Requeridoref parameter |
Códigos de estado de respuesta HTTP para "Delete a reference"
status code | Descripción |
---|---|
204 | No Content |
422 | Validation failed, or the endpoint has been spammed. |
Ejemplos de código para "Delete a reference"
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/git/refs/REF
Response
Status: 204