Me gustaría saber si mi repositorio local está actualizado (y si no, idealmente, me gustaría ver los cambios).Git: ¿Cómo verificar si un repositorio local está actualizado?
¿Cómo podría verificar esto sin git fetch
o git pull
?
Me gustaría saber si mi repositorio local está actualizado (y si no, idealmente, me gustaría ver los cambios).Git: ¿Cómo verificar si un repositorio local está actualizado?
¿Cómo podría verificar esto sin git fetch
o git pull
?
Trate git fetch --dry-run
El manual (git help fetch
) dice:
--dry-run
Show what would be done, without making any changes.
Esto es imposible. ¿Cómo puede saber si el repositorio está "actualizado" sin ir al repositorio remoto para ver qué significa "actualizado"?
Por favor confirmar que! ¡Acabas de responder lo que piensas! ¡Debes ser más cuidadoso ya que los novatos lo harán! –
@AmanuelNega: Esto es solo lógica básica. Si desea saber si su repositorio local está en el mismo estado que el repositorio remoto, necesita conocer el estado del repositorio remoto. Período. Si no conoce el estado del repositorio remoto, posiblemente no pueda saber si el repositorio local está en el mismo estado. Tenga en cuenta que la respuesta más votada y aceptada usa 'git pull', que el OP prohíbe explícitamente en su pregunta. –
¡Infórmate! 'git status -uno' esto funciona y también se puede usar' git show-branch * master' para ver el estado de todas las ramas maestras! ¿Sigues diciendo que es imposible?¡Puedes ver el estado de cualquier rama siempre que tengas acceso al control remoto! –
No realmente - pero no veo cómo git fetch
dolería ya que no cambiará ninguna de sus sucursales locales.
Debe ejecutar git fetch
antes de poder comparar su repositorio local en contra de los archivos en el servidor remoto.
Este comando solo actualiza sus ramas de seguimiento remoto y no afectará a su árbol de trabajo hasta que llame al git merge
o git pull
.
Para ver la diferencia entre su sucursal local y su sucursal de seguimiento a distancia una vez que haya arreó puede utilizar git diff or git cherry as explained here.
puede utilizar git status -uno
para comprobar si su rama local está al día con el origen .
Solo proporciona el estado local, no verifica con la rama remota. –
Otra alternativa es para ver el estado de la rama remota utilizando git show-branch remote/branch
usarlo como comparación se podía ver git show-branch *branch
para ver la rama en todos los mandos a distancia, así como su repositorio! echa un vistazo a esta respuesta para más https://stackoverflow.com/a/3278427/2711378
Tendrá que emitir dos comandos:
Uso
git pull
Si su sucursal está actualizada recibirá el siguiente mensaje:
"Ya está actualizado".
git remote show origin
Resultado:
HEAD branch: master
Remote branch:
master tracked
Local branch configured for 'git pull':
master merges with remote master
Local ref configured for 'git push':
master pushes to master (local out of date) <-------
¡Gracias! Sin embargo, es difícil para entender a partir de la salida qué archivos se agregaron/modificaron/eliminaron. –
Puede ver qué etiquetas se actualizan y el inicio ... finalizar el rango de confirmación para las distintas ramas. Si esto no es suficiente, hágalo como una recuperación (no extracción) adecuada que le proporcionará una copia local propia e independiente del control remoto, sin afectar el trabajo de su propia sucursal. Un tirón intentaría unir los dos, que no es lo que quieres. La transferencia de datos es la misma ya sea que -dry-run o no. –