Git
Trabajando con controles remotos
Buscar..
Sintaxis
-
git remote [-v | --verbose]
-
git remote add [-t <branch>] [-m <master>] [-f] [--[no-]tags] [--mirror=<fetch|push>] <name> <url>
-
git remote rename <old> <new>
-
git remote remove <name>
-
git remote set-head <name> (-a | --auto | -d | --delete | <branch>)
-
git remote set-branches [--add] <name> <branch>…
-
git remote get-url [--push] [--all] <name>
-
git remote set-url [--push] <name> <newurl> [<oldurl>]
-
git remote set-url --add [--push] <name> <newurl>
-
git remote set-url --delete [--push] <name> <url>
-
git remote [-v | --verbose] show [-n] <name>…
-
git remote prune [-n | --dry-run] <name>…
-
git remote [-v | --verbose] update [-p | --prune] [(<group> | <remote>)…]
Agregar un nuevo repositorio remoto
git remote add upstream git-repository-url
Agrega el repositorio de git remoto representado por git-repository-url
como un nuevo remoto nombrado en upstream
al repositorio de git
Actualización desde el repositorio upstream
Suponiendo que establezca el flujo ascendente (como en la "configuración de un repositorio ascendente")
git fetch remote-name
git merge remote-name/branch-name
El comando de pull
combina una fetch
y una merge
.
git pull
El comando pull
con --rebase
flag combina un fetch
y un rebase
lugar de merge
.
git pull --rebase remote-name branch-name
ls-remoto
git ls-remote
es un comando único que le permite consultar un repositorio remoto sin tener que clonarlo / buscarlo primero .
Enumera refs / heads y refs / tags de dicho repositorio remoto.
Verá a veces refs/tags/v0.1.6
y refs/tags/v0.1.6
refs/tags/v0.1.6^{}
: ^{}
para enumerar la etiqueta anotada sin referencia (es decir, la confirmación a la que apunta la etiqueta)
Desde git 2.8 (marzo de 2016), puede evitar esa doble entrada para una etiqueta, y enumerar directamente esas etiquetas no referenciadas con:
git ls-remote --ref
También puede ayudar a resolver la url real utilizada por un repositorio remoto cuando tiene la configuración de configuración " url.<base>.insteadOf
".
Si git remote --get-url <aremotename>
devuelve https://server.com/user/repo , y ha configurado git config url.ssh://[email protected]:.insteadOf https://server.com/
:
git ls-remote --get-url <aremotename>
ssh://[email protected]:user/repo
Eliminar una rama remota
Para eliminar una rama remota en Git:
git push [remote-name] --delete [branch-name]
o
git push [remote-name] :[branch-name]
Eliminación de copias locales de sucursales remotas eliminadas
Si se ha eliminado una sucursal remota, se debe indicar a su repositorio local que elimine la referencia.
Para podar ramas eliminadas de un control remoto específico:
git fetch [remote-name] --prune
Para podar las ramas eliminadas de todos los controles remotos:
git fetch --all --prune
Mostrar información sobre un control remoto específico
Salida alguna información sobre un remoto conocido: origin
git remote show origin
Imprima solo la URL del control remoto:
git config --get remote.origin.url
Con 2.7+, también es posible hacerlo, lo que es posiblemente mejor que el anterior que usa el comando de config
.
git remote get-url origin
Lista de los controles remotos existentes
Listar todos los controles remotos existentes asociados con este repositorio:
git remote
Enumere en detalle todos los controles remotos existentes asociados con este repositorio, incluidas las URL de fetch
y push
:
git remote --verbose
o simplemente
git remote -v
Empezando
Sintaxis para empujar a una rama remota
git push <remote_name> <branch_name>
Ejemplo
git push origin master
Establecer aguas arriba en una nueva rama
Puedes crear una nueva rama y cambiar a ella usando
git checkout -b AP-57
Después de usar git checkout para crear una nueva rama, deberá configurar ese origen en sentido ascendente para que empiece a usar
git push --set-upstream origin AP-57
Después de eso, puedes usar git push mientras estás en esa rama.
Cambio de un repositorio remoto
Para cambiar la URL del repositorio al que quiere que apunte su control remoto, puede usar la opción set-url
, así:
git remote set-url <remote_name> <remote_repository_url>
Ejemplo:
git remote set-url heroku https://git.heroku.com/fictional-remote-repository.git
Cambiando la URL de Git Remote
Compruebe el control remoto existente
git remote -v
# origin https://github.com/username/repo.git (fetch)
# origin https://github.com/usernam/repo.git (push)
Cambiando la URL del repositorio
git remote set-url origin https://github.com/username/repo2.git
# Change the 'origin' remote's URL
Verificar nueva URL remota
git remote -v
# origin https://github.com/username/repo2.git (fetch)
# origin https://github.com/username/repo2.git (push)
Renombrando un control remoto
Para renombrar el control remoto, use el comando git remote rename
El comando git remote rename
toma dos argumentos:
- Un nombre remoto existente, por ejemplo: origen
- Un nuevo nombre para el control remoto, por ejemplo: destino
Obtener nombre remoto existente
git remote
# origin
Verifique el control remoto existente con URL
git remote -v
# origin https://github.com/username/repo.git (fetch)
# origin https://github.com/usernam/repo.git (push)
Renombrar remoto
git remote rename origin destination
# Change remote name from 'origin' to 'destination'
Verificar nuevo nombre
git remote -v
# destination https://github.com/username/repo.git (fetch)
# destination https://github.com/usernam/repo.git (push)
=== Posibles errores ===
No se pudo cambiar el nombre de la sección de configuración 'remoto. [Nombre antiguo]' a 'remoto. [Nombre nuevo]'
Este error significa que el control remoto que probó el nombre remoto anterior ( origen ) no existe.
El [nombre nuevo] remoto ya existe.
El mensaje de error es auto explicativo.
Establecer la URL para un control remoto específico
Puede cambiar la url de un control remoto existente con el comando
git remote set-url remote-name url
Obtener la URL para un control remoto específico
Puede obtener la url para un control remoto existente usando el comando
git remote get-url <name>
Por defecto, esto será
git remote get-url origin