git push
git remoto / git fetch / git push / git pull
Last updated
Was this helpful?
git remoto / git fetch / git push / git pull
Last updated
Was this helpful?
El git push
comando 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.
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.
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 --force
bandera a menos que est茅 absolutamente seguro de saber lo que est谩 haciendo.
Empuje todas sus sucursales locales al control remoto especificado.
Las etiquetas no se insertan autom谩ticamente cuando empuja una rama o usa la --all
opci贸n. La --tags
bandera env铆a todas sus etiquetas locales al repositorio remoto.
git push
se 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 master
ha progresado m谩s all谩 del repositorio central master
y usted publica los cambios ejecutando git push origin master
. Observe c贸mo git push
es esencialmente lo mismo que ejecutar git merge master
desde el interior del repositorio remoto.
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 update
antes de confirmar un conjunto de cambios.
La --force
bandera 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 --amend
o 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 --force
opci贸n.
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 push
comando env铆a todas las confirmaciones en su maestro local al repositorio central.
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 push
no deber铆a quejarse de ninguno de los problemas que no son de avance r谩pido discutidos anteriormente.
El ejemplo anterior asume que se est谩 ejecutando en un repositorio existente con un historial de confirmaci贸n. git commit --amend
se utiliza para actualizar la confirmaci贸n anterior. La confirmaci贸n modificada se fuerza a empujar usando la --force
opci贸n.
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.
Lo anterior eliminar谩 la rama remota denominada branch_name pasando un nombre de rama con el prefijo de dos puntos para git push
eliminar la rama remota.
git push
es 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 push
se 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 --bare
repositorio 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 --bare
bandera. 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 --amend
opci贸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 --force
opci贸n debe usarse para enviar una confirmaci贸n modificada.