Comandos de Git

git push

git push: envía cambios a un repositorio remoto.

El comando git push se usa para subir contenido del repositorio local a un repositorio remoto. Es la forma de transferir commits desde tu repositorio local a un remoto. Es la contraparte de git fetch, pero mientras que traer con git fetch importa commits a ramas locales, enviar con git push exporta commits a ramas remotas.

Enviar cambios puede llegar a sobrescribir trabajo, así que conviene usarlo con cuidado. Los cambios se envían al repositorio remoto y pueden afectar a otras personas que colaboran en el mismo proyecto.

Cuando envías cambios, actualizas la rama remota con tus cambios locales. Si otra persona ha enviado cambios a la misma rama mientras tanto, Git rechazará tu envío y te pedirá que primero traigas los cambios remotos. Así evita que sobrescribas por accidente el trabajo de otra persona.

Enviar cambios es la forma de compartir tus commits con otras personas y una parte clave del desarrollo colaborativo con Git. Permite que todo el mundo vea tu trabajo e incorpore tus cambios en sus propios repositorios.

Ejemplos

Imagina que has hecho cambios en tu repositorio local y quieres compartirlos con tu equipo. Así lo harías.

Después de crear tus commits en local, envía los nuevos commits de tu rama local llamada main a la misma rama en el repositorio remoto llamado origin:

git push origin main

Si la rama no existe, usa la opción -u (forma corta de --set-upstream) para crearla:

git push -u origin new-feature

Enviar todas las ramas locales a sus ramas remotas correspondientes:

git push --all

Forzar el envío, sobrescribiendo la rama remota con tus cambios locales:

Esta acción es PELIGROSA y debe usarse con muchísimo cuidado, porque puede sobrescribir el trabajo de otras personas.

En circunstancias normales, deberías traer primero los cambios remotos, hacer rebase de tus propios cambios encima de esas actualizaciones (después de un git pull o de git fetch), resolviendo cualquier conflicto. Después podrás enviar tus cambios sin forzar el envío.

git push --force