tag - Cómo verificar las diferencias entre local y github antes del pull
qué tipos de etiquetas existen en git (3)
Si no le interesan los detalles de las salidas de git diff
, puede ejecutar git cherry
que generará una lista de confirmaciones que su sucursal de seguimiento remoto tiene antes de su sucursal local.
Por ejemplo:
git fetch origin
git cherry master origin/master
Producirá algo así como:
+ 2642039b1a4c4d4345a0d02f79ccc3690e19d9b1
+ a4870f9fbde61d2d657e97b72b61f46d1fd265a9
Indica que hay dos confirmaciones en mi sucursal de seguimiento remoto que no se han fusionado en mi sucursal local.
Esto también funciona de la otra manera:
git cherry origin/master master
Le mostrará una lista de confirmaciones locales que aún no ha enviado a su repositorio remoto.
Esta pregunta ya tiene una respuesta aquí:
- git diff entre repositorio remoto clonado y original 3 respuestas
Antes de usar pull, quiero verificar si hay alguna diferencia entre mi maestro local y github.
¿Cómo puedo hacerlo?
Y otro comando útil para hacer esto (después de git fetch) es:
git log origin/master ^master
Esto muestra las confirmaciones que están en el origen / maestro pero no en el maestro. También puedes hacerlo en sentido opuesto al hacer git pull, para verificar qué commits se enviarán a control remoto.
git pull
es realmente equivalente a ejecutar git fetch
y luego a git merge
. La git fetch
actualiza las denominadas "ramas de seguimiento remoto", generalmente estas son las que parecen origin/master
, github/experiment
, etc. que se ven con git branch -r
. Estos son como un caché del estado de las ramas en el repositorio remoto que se actualizan cuando haces git fetch
(o un git push
exitoso).
Entonces, supongamos que tiene un origin
llamado remoto que se refiere a su repositorio de GitHub, usted haría:
git fetch origin
... y luego hacer:
git diff master origin/master
... para ver la diferencia entre tu master
y el de GitHub. Si estás contento con esas diferencias, puedes fusionarlas con git merge origin/master
, suponiendo que master
es tu rama actual.
Personalmente, creo que hacer git fetch
y git merge
separado es generalmente una buena idea .