馃搾
Git
  • Qu茅 es Git
  • Por qu茅 Git para su organizaci贸n
  • Como instalar GIT
  • Claves SSH
  • Configuraci贸n de un repositorio
  • sincronizaci贸n de git
    • git remoto
    • git fetch
    • git push
    • git pull
  • Gitflow
Powered by GitBook
On this page
  • Uso de Git push
  • Discusi贸n de Git push
  • Git push y sincronizaci贸n
  • Empujar a repositorios desnudos
  • Fuerza empujando
  • Ejemplos
  • Git push predeterminado
  • Empuje de fuerza modificado
  • Eliminar una rama o etiqueta remota

Was this helpful?

  1. sincronizaci贸n de git

git push

git remoto / git fetch / git push / git pull

Previousgit fetchNextgit pull

Last updated 4 years ago

Was this helpful?

El git pushcomando se utiliza para cargar el contenido del repositorio local en un repositorio remoto. Empujar es c贸mo transfieres las confirmaciones de tu repositorio local a un repositorio remoto. Es la contraparte de , pero mientras que la obtenci贸n de las importaciones se compromete con las sucursales locales, las exportaciones se env铆an a las sucursales remotas. Las ramas remotas se configuran mediante el comando. Empujar tiene el potencial de sobrescribir cambios, se debe tener cuidado al empujar. Estos problemas se analizan a continuaci贸n.

Uso de Git push

git push <remote> <branch>

Empuje la rama especificada para , junto con todas las confirmaciones necesarias y los objetos internos. Esto crea una sucursal local en el repositorio de destino. Para evitar que sobrescriba las confirmaciones, Git no le permitir谩 presionar cuando resulte en una fusi贸n que no sea de avance r谩pido en el repositorio de destino.

git push <remote> --force

Igual que el comando anterior, pero fuerce el empuje incluso si da como resultado una combinaci贸n que no sea de avance r谩pido. No use la --forcebandera a menos que est茅 absolutamente seguro de saber lo que est谩 haciendo.

git push <remote> --all

Empuje todas sus sucursales locales al control remoto especificado.

git push <remote> --tags

Las etiquetas no se insertan autom谩ticamente cuando empuja una rama o usa la --allopci贸n. La --tagsbandera env铆a todas sus etiquetas locales al repositorio remoto.

Discusi贸n de Git push

git pushse utiliza m谩s com煤nmente para publicar y cargar cambios locales en un repositorio central. Una vez que se ha modificado un repositorio local, se ejecuta una inserci贸n para compartir las modificaciones con los miembros del equipo remoto.

El diagrama anterior muestra lo que sucede cuando su local masterha progresado m谩s all谩 del repositorio central mastery usted publica los cambios ejecutando git push origin master. Observe c贸mo git pushes esencialmente lo mismo que ejecutar git merge masterdesde el interior del repositorio remoto.

Git push y sincronizaci贸n

Empujar a repositorios desnudos

Fuerza empujando

Git evita que sobrescriba el historial del repositorio central al rechazar las solicitudes de inserci贸n cuando dan como resultado una combinaci贸n que no es de avance r谩pido. Por lo tanto, si el historial remoto ha diferido de su historial, debe extraer la rama remota y fusionarla con la local, luego intente presionar nuevamente. Esto es similar a c贸mo SVN lo sincroniza con el repositorio central a trav茅s de svn updateantes de confirmar un conjunto de cambios.

La --forcebandera anula este comportamiento y hace que la rama del repositorio remoto coincida con la local, eliminando cualquier cambio ascendente que pueda haber ocurrido desde la 煤ltima vez que lo extrajo. La 煤nica vez que deber铆a necesitar forzar el empuje es cuando se da cuenta de que las confirmaciones que acaba de compartir no eran del todo correctas y las solucion贸 con una git commit --amendo una rebase interactiva. Sin embargo, debes estar absolutamente seguro de que ninguno de tus compa帽eros de equipo ha realizado esas confirmaciones antes de usar la --forceopci贸n.

Ejemplos

Git push predeterminado

El siguiente ejemplo describe uno de los m茅todos est谩ndar para publicar contribuciones locales en el repositorio central. Primero, se asegura de que su maestro local est茅 actualizado al obtener la copia del repositorio central y reajustar sus cambios encima de ellos. La rebase interactiva tambi茅n es una buena oportunidad para limpiar sus confirmaciones antes de compartirlas. Luego, el git pushcomando env铆a todas las confirmaciones en su maestro local al repositorio central.

git checkout master
git fetch origin master
git rebase -i origin/master
# Squash commits, fix up commit messages etc.
git push origin master

Dado que ya nos aseguramos de que el maestro local estuviera actualizado, esto deber铆a dar como resultado una fusi贸n de avance r谩pido y git pushno deber铆a quejarse de ninguno de los problemas que no son de avance r谩pido discutidos anteriormente.

Empuje de fuerza modificado

# make changes to a repo and git add
git commit --amend
# update the existing commit message
git push --force origin master

El ejemplo anterior asume que se est谩 ejecutando en un repositorio existente con un historial de confirmaci贸n. git commit --amendse utiliza para actualizar la confirmaci贸n anterior. La confirmaci贸n modificada se fuerza a empujar usando la --forceopci贸n.

Eliminar una rama o etiqueta remota

A veces, las sucursales deben limpiarse con fines de contabilidad o de organizaci贸n. Para eliminar completamente una rama, debe eliminarse localmente y tambi茅n de forma remota.

git branch -D branch_name
git push origin :branch_name

Lo anterior eliminar谩 la rama remota denominada branch_name pasando un nombre de rama con el prefijo de dos puntos para git pusheliminar la rama remota.

git pushes uno de los muchos componentes que se utilizan en el proceso general de "sincronizaci贸n" de Git. Los comandos de sincronizaci贸n operan en ramas remotas que se configuran mediante el comando. git pushse puede considerar un comando 'cargar' mientras que, y se puede considerar como comandos 'descargar'. Una vez que los conjuntos de cambios se han movido a trav茅s de una descarga o carga, se puede realizar una en el destino para integrar los cambios.

Una pr谩ctica moderna de Git que se usa con frecuencia es tener un --barerepositorio alojado de forma remota que act煤e como un repositorio de origen central. Este repositorio de origen a menudo se aloja fuera del sitio con un tercero de confianza como Bitbucket. Dado que la inserci贸n de problemas con la estructura de la rama remota, es m谩s seguro y com煤n enviar a los repositorios que se han creado con la --barebandera. Los repositorios desnudos no tienen un directorio de trabajo, por lo que una inserci贸n no alterar谩 el contenido del directorio de trabajo en curso. Para obtener m谩s informaci贸n sobre la creaci贸n de repositorios b谩sicos, lea sobre .

El comando acepta una --amendopci贸n que actualizar谩 la confirmaci贸n anterior. Una confirmaci贸n a menudo se modifica para actualizar el mensaje de confirmaci贸n o agregar nuevos cambios. Una vez que se modifica una confirmaci贸n git push, fallar谩 porque Git ver谩 la confirmaci贸n modificada y la confirmaci贸n remota como contenido divergente. La --forceopci贸n debe usarse para enviar una confirmaci贸n modificada.

git remote
git fetch
git pull
git merge
git init
git commit
git fetch
git remote
Usar git push para publicar cambios