2011-10-29 26 views

Respuesta

46

Trate git fetch --dry-run El manual (git help fetch) dice:

--dry-run 
Show what would be done, without making any changes. 
+2

¡Gracias! Sin embargo, es difícil para entender a partir de la salida qué archivos se agregaron/modificaron/eliminaron. –

+0

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. –

0

Esto es imposible. ¿Cómo puede saber si el repositorio está "actualizado" sin ir al repositorio remoto para ver qué significa "actualizado"?

+2

Por favor confirmar que! ¡Acabas de responder lo que piensas! ¡Debes ser más cuidadoso ya que los novatos lo harán! –

+3

@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. –

+1

¡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! –

5

No realmente - pero no veo cómo git fetch dolería ya que no cambiará ninguna de sus sucursales locales.

2

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.

5

puede utilizar git status -uno para comprobar si su rama local está al día con el origen .

+3

Solo proporciona el estado local, no verifica con la rama remota. –

2

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

1

Tendrá que emitir dos comandos:

  1. git fetch origen
  2. git status
0

Uso

git pull 

Si su sucursal está actualizada recibirá el siguiente mensaje:

"Ya está actualizado".

2
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) <------- 
Cuestiones relacionadas