Esta versión de GitHub Enterprise se discontinuó el 2022-06-03. No se realizarán lanzamientos de patch, ni siquiera para problemas de seguridad críticos. Para obtener un mejor desempeño, más seguridad y nuevas características, actualiza a la última versión de GitHub Enterprise. Para obtener ayuda con la actualización, contacta al soporte de GitHub Enterprise.
Git trees
The Git trees API lets you read and write tree objects to your Git database on GitHub Enterprise Server.
About the Git trees API
Un objeto de árbol de Git crea la jerarquía entre archivos para un repositorio de Git. Puedes utilizar el objeto de árbol de Git para crear una relación entre directorios y entre los archivos que contienen. Estas terminales te permiten leer y escribir objetos de árbolen tu base de datos de Git en GitHub Enterprise Server.
Create a tree
The tree creation API accepts nested entries. If you specify both a tree and a nested path modifying that tree, this endpoint will overwrite the contents of the tree with the new path contents, and create a new tree structure.
If you use this endpoint to add, delete, or modify the file contents in a tree, you will need to commit the tree and then update a branch to point to the commit. For more information see "Create a commit" and "Update a reference."
Parámetros
| Encabezados | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| Nombre, Tipo, Descripción | |||||||||
acceptstringSetting to | |||||||||
| Parámetros de ruta | |||||||||
| Nombre, Tipo, Descripción | |||||||||
ownerstringRequeridoThe account owner of the repository. The name is not case sensitive. | |||||||||
repostringRequeridoThe name of the repository. The name is not case sensitive. | |||||||||
| Parámetros de cuerpo | |||||||||
| Nombre, Tipo, Descripción | |||||||||
treearray of objectsRequeridoObjects (of | |||||||||
Properties of the | |||||||||
| Nombre, Tipo, Descripción |
|---|
pathstringThe file referenced in the tree. |
modestringThe file mode; one of Puede ser una de las siguientes: |
typestringEither Puede ser una de las siguientes: |
shastring or nullThe SHA1 checksum ID of the object in the tree. Also called Note: Use either |
contentstringThe content you want this file to have. GitHub will write this blob out and use that SHA for this entry. Use either this, or Note: Use either |
base_treestringThe SHA1 of an existing Git tree object which will be used as the base for the new tree. If provided, a new Git tree object will be created from entries in the Git tree object pointed to by base_tree and entries defined in the tree parameter. Entries defined in the tree parameter will overwrite items from base_tree with the same path. If you're creating new changes on a branch, then normally you'd set base_tree to the SHA1 of the Git tree object of the current latest commit on the branch you're working on. If not provided, GitHub will create a new Git tree object from only the entries defined in the tree parameter. If you create a new commit pointing to such a tree, then all files which were a part of the parent commit's tree and were not defined in the tree parameter will be listed as deleted by the new commit.
Códigos de estado de respuesta HTTP
| Código de estado | Descripción |
|---|---|
201 | Created |
403 | Forbidden |
404 | Resource not found |
422 | Validation failed |
Ejemplos de código
curl \ -X POST \ -H "Accept: application/vnd.github.v3+json" \ -H "Authorization: token <TOKEN>" \ http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/git/trees \ -d '{"base_tree":"9fb037999f264ba9a7fc6274d15fa3ae2ab98312","tree":[{"path":"file.rb","mode":"100644","type":"blob","sha":"44b4fc6d56897b048c772eb4087f854f46256132"}]}'Response
Status: 201{ "sha": "cd8274d15fa3ae2ab983129fb037999f264ba9a7", "url": "https://api.github.com/repos/octocat/Hello-World/trees/cd8274d15fa3ae2ab983129fb037999f264ba9a7", "tree": [ { "path": "file.rb", "mode": "100644", "type": "blob", "size": 132, "sha": "7c258a9869f33c1e1e1f74fbb32f07c86cb5a75b", "url": "https://api.github.com/repos/octocat/Hello-World/git/blobs/7c258a9869f33c1e1e1f74fbb32f07c86cb5a75b" } ], "truncated": true }Get a tree
Returns a single tree using the SHA1 value for that tree.
If truncated is true in the response then the number of items in the tree array exceeded our maximum limit. If you need to fetch more items, use the non-recursive method of fetching trees, and fetch one sub-tree at a time.
Parámetros
| Encabezados |
|---|
| Nombre, Tipo, Descripción |
acceptstringSetting to |
| Parámetros de ruta |
| Nombre, Tipo, Descripción |
ownerstringRequeridoThe account owner of the repository. The name is not case sensitive. |
repostringRequeridoThe name of the repository. The name is not case sensitive. |
tree_shastringRequerido |
| Parámetros de consulta |
| Nombre, Tipo, Descripción |
recursivestringSetting this parameter to any value returns the objects or subtrees referenced by the tree specified in |
Códigos de estado de respuesta HTTP
| Código de estado | Descripción |
|---|---|
200 | OK |
404 | Resource not found |
422 | Validation failed |
Ejemplos de código
curl \ -H "Accept: application/vnd.github.v3+json" \ -H "Authorization: token <TOKEN>" \ http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/git/trees/TREE_SHADefault response
Status: 200{ "sha": "9fb037999f264ba9a7fc6274d15fa3ae2ab98312", "url": "https://api.github.com/repos/octocat/Hello-World/trees/9fb037999f264ba9a7fc6274d15fa3ae2ab98312", "tree": [ { "path": "file.rb", "mode": "100644", "type": "blob", "size": 30, "sha": "44b4fc6d56897b048c772eb4087f854f46256132", "url": "https://api.github.com/repos/octocat/Hello-World/git/blobs/44b4fc6d56897b048c772eb4087f854f46256132" }, { "path": "subdir", "mode": "040000", "type": "tree", "sha": "f484d249c660418515fb01c2b9662073663c242e", "url": "https://api.github.com/repos/octocat/Hello-World/git/blobs/f484d249c660418515fb01c2b9662073663c242e" }, { "path": "exec_file", "mode": "100755", "type": "blob", "size": 75, "sha": "45b983be36b73c0788dc9cbcb76cbb80fc7bb057", "url": "https://api.github.com/repos/octocat/Hello-World/git/blobs/45b983be36b73c0788dc9cbcb76cbb80fc7bb057" } ], "truncated": false }