Enviar confirmaciones a un repositorio remoto

  • por

El comando git push toma dos argumentos:

  • Un nombre remoto, por ejemplo, origin
  • Un nombre de rama, por ejemplo, main
  • Por ejemplo:

git push <REMOTENAME> <BRANCHNAME> 

Como ejemplo, sueles ejecutar git push origin main para empujar tus cambios localesa tu repositorio online.

Renombrar ramas

Para renombrar una rama, utilizarías el mismo comando git push, pero añadirías un argumento más: el nombre de la nueva rama. Por ejemplo:

git push <REMOTENAME> <LOCALBRANCHNAME>:<REMOTEBRANCHNAME> 

Esto empuja el LOCALBRANCHNAME a tu REMOTENAME, pero se renombra a REMOTEBRANCHNAME.

Cómo lidiar con errores «no rápidos»

Si tu copia local de un repositorio no está sincronizada con, o está «detrás» del repositorio upstream al que estás empujando, recibirás un mensaje que dice non-fast-forward updates were rejected.Esto significa que debes recuperar, o «fetch», los cambios del upstream, antes de que seas capaz de empujar tus cambios locales.

Para más información sobre este error, consulta «Cómo lidiar con los errores no fast-forward.»

Pulsando etiquetas

Por defecto, y sin parámetros adicionales, git push envía todas las ramas coincidentesque tienen los mismos nombres que las ramas remotas.

Para empujar una sola etiqueta, puedes emitir el mismo comando que para empujar una rama:

git push <REMOTENAME> <TAGNAME> 

Para empujar todas las etiquetas, puedes escribir el comando:

git push <REMOTENAME> --tags

Borrar una rama o etiqueta remota

La sintaxis para borrar una rama es un poco arcana a primera vista:

git push <REMOTENAME> :<BRANCHNAME> 

Nota que hay un espacio antes de los dos puntos. El comando se parece a los mismos pasos que darías para renombrar una rama. Sin embargo, aquí le estás diciendo a Git que no empuje nada dentro de BRANCHNAME en REMOTENAME. Debido a esto, git push elimina la rama en el repositorio remoto.

Remotos y forks

Es posible que ya sepas que puedes hacer «forks» de repositorios en GitHub.

Cuando clonas un repositorio propio, le proporcionas una URL remota que le dice aGit dónde obtener y empujar las actualizaciones. Si quieres colaborar con el repositorio original, añadirás una nueva URL remota, normalmente llamada upstream, a tu clon local de Git:

git remote add upstream <THEIR_REMOTE_URL> 

Ahora, puedes obtener actualizaciones y ramas de su fork:

git fetch upstream# Grab the upstream remote's branches> remote: Counting objects: 75, done.> remote: Compressing objects: 100% (53/53), done.> remote: Total 62 (delta 27), reused 44 (delta 9)> Unpacking objects: 100% (62/62), done.> From https://github.com/octocat/repo> * main -> upstream/main

Cuando hayas terminado de hacer cambios locales, puedes empujar tu rama local a GitHub e iniciar un pull request.

Para más información sobre cómo trabajar con forks, consulta «Sincronizar un fork».

Lectura adicional

  • El capítulo «Remotes» del libro «Pro Git»
  • git remote página man
  • «Git cheatsheet»
  • «Git workflows»
  • «Git Handbook»

.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *