Pregunta
¿Cuáles son los comandos de Git para hacer el siguiente flujo de trabajo?
Guión
Cloné desde un repositorio e hice algunas confirmaciones propias en mi repositorio local. Mientras tanto, mis colegas se comprometieron con el repositorio remoto. Ahora quiero:
Compruebe si hay nuevas confirmaciones de otras personas en el repositorio remoto, es decir
origin.Dicen que hubo 3 nuevas confirmaciones en el repositorio remoto desde mi último tirón, me gustaría diff confirmaciones del repositorio remoto, es decir,
HEAD~3conHEAD~2,HEAD~2conHEAD~1yHEAD~1conHEAD.Después de saber qué cambió de forma remota, quiero obtener las últimas confirmaciones de los demás.
Mis hallazgos hasta ahora
Para el paso 2: conozco la notación de intercalación HEAD^, HEAD^^etc. y la notación de tilde HEAD~2, HEAD~3etc.
Para el paso 3: Eso es, supongo, solo a git pull.

Respuestas:
Podría
git fetch originactualizar la rama remota en su repositorio para apuntar a la última versión. Para una diferencia contra el control remoto:Sí, también puedes usar la notación de intercalación.
Si desea aceptar los cambios remotos:
fuente
git diff HEAD origin/masterpor lo que el diff muestra lo que se aplicará si acepto los cambios remotos.Encontré esto en la respuesta a Verificar si se necesita extracción en Git
fuente
git pull <remote> <branch>después tan pronto como necesite empujar, porque la punta de mi sucursal local estaba detrás de la contraparte remota.git remote update -vque tengoerror: unknown switch `v'git remote -v updatenogit remote update -vUna buena manera de tener una visión sintética de lo que está sucediendo en el "origen" es:
fuente
Yo solo uso
Este último informa cuántos compromisos hay detrás de mi local. (Si alguna)
luego
para actualizar mi local :)
fuente
Mi pregunta habitual es más bien "cualquier cosa nueva o cambiada en el repositorio", por lo que lo que cambia es útil. Lo encontré aquí .
fuente
Una posible solución
Gracias a la solución de Alan Haggai Alavi se me ocurrió el siguiente flujo de trabajo potencial:
Paso 1:
Paso 2:
Paso 3:
fuente
git diff origing/master^ origing/master^^git statusNo siempre muestra la diferencia entre maestro y origen / maestro incluso después de una búsqueda. Si desea que la combinacióngit fetch origin && git statusfuncione, debe especificar la información de seguimiento entre la sucursal local y el origen:Para la rama maestra:
fuente
ya que no se ha sugerido hasta ahora ... y me parece bastante útil ...
simplemente uso
para buscar los cambios remotos, y luego veo confirmaciones remotas locales y pendientes (y sus cambios asociados) con la buena herramienta gitk ( https://git-scm.com/docs/gitk ) que involucra el argumento --todos como
fuente