Esta versión de GitHub Enterprise se discontinuó el 2021-09-23. 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.

Subir confirmaciones de cambios a un repositorio remoto

Utiliza git push para subir confirmaciones de cambios realizadas en tu rama local a un repositorio remoto.

Acerca de git push

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, habitualmente ejecutas git push origin main para subir tus cambios locales a tu repositorio en línea.

Renombrar ramas

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

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

Esto sube LOCALBRANCHNAME a tu REMOTENAME, pero es renombrado a REMOTEBRANCHNAME.

Abordar errores sin avance rápido

Si tu copia local de un repositorio está desincronizada, o "atrasada", con respecto al repositorio ascendente al que estás subiendo, recibirás un mensaje que dice que non-fast-forward updates were rejected (las actualizaciones sin avance rápido se rechazaron). Esto significa que debes recuperar, o "extraer", los cambios ascendentes, antes de poder subir tus cambios locales.

Para obtener más información sobre este error, consulta "Resolver errores sin avance rápido."

Subir etiquetas

Por defecto, y sin parámetros adicionales, git push envía todas las ramas que coinciden para que tengan el mismo nombre que las ramas remotas.

Para subir una etiqueta única, puedes emitir el mismo comando que al subir una rama:

git push  <REMOTENAME> <TAGNAME> 

Para subir todas tus etiquetas, puede escribir el comando:

git push  <REMOTENAME> --tags

Eliminar una etiqueta o rama remota

La sintaxis para borrar una rama es un poco críptica 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 tomarías para renombrar una rama. Sin embargo, aquí estás informándole a Git que no suba nada dentro de BRANCHNAME en REMOTENAME. Debido a esto, git push elimina la rama en el repositorio remoto.

Remotos y bifurcaciones

Posiblemente ya sepas que puedes "bifurcar" repositorios en GitHub.

Cuando clonas un repositorio de tu propiedad, le proporcionas una URL remota que le indica a Git dónde extraer y subir actualizaciones. Si deseas colaborar con el repositorio original, agregarías una nueva a URL remota, normalmente llamada upstream (ascendente), a tu clon de Git local:

git remote add upstream  <THEIR_REMOTE_URL> 

Ahora, puedes extraer actualizaciones y ramas de sus bifurcaciones:

git extrae ascendente
# Toma las ramas de los remotos ascendentes
> remoto: Contando objetos: 75, realizado.
> remote: Compressing objects: 100% (53/53), done.
> remoto: Total 62 (delta 27), reutilizados 44 (delta 9)
> Descompimiendo objetos: 100 % (62/62), realziado.
> From https://nombre de host/octocat/repo
>  * [new branch]      main     -> upstream/main

Cuando hayas finalizado tus cambios locales, puedes subir tu rama local a GitHub e iniciar una solicitud de extracción.

Para obtener más información sobre cómo trabajar con bifurcaciones, consulta "Sincronizar una bifurcación".

Leer más