¿Cómo introducir los cambios del equipo en mi sucursal lo más claramente posible?

He estado desconcertando sobre esto y no puedo encontrar una respuesta. Digamos que mi equipo está trabajando en origin/develop (que estoy rastreando localmente) y estoy trabajando en una feat-search local de feat-search . Tengo varias confirmaciones y deseo introducir cualquier cambio de develop en mi sucursal. Mis opciones son:

  1. git pull origin develop
  2. git pull --rebase origin develop
  3. git checkout develop; git pull origin develop; git checkout feat-search; git rebase develop
  4. git checkout develop; git pull origin develop; git checkout feat-search; git merge develop
  5. Ninguna de las anteriores; solo sigue trabajando en mi sucursal y no introduzcas cambios desde el develop

El caso es que creo que si utilizo git pull --rebase , el gráfico de git se contrae cuando git pull --rebase mi twig y se ve visualmente como si nunca me hubiera desviado. A la gente puede no gustarle eso. Si uso git pull , se fusiona y se convierte en mi twig, que también se ve extraña en un gráfico.

Estoy confundido como el infierno. Cualquier ayuda es apreciada.

git pull --rebase , el gráfico de git está queuepsado cuando git pull --rebase mi twig y se ve visualmente como si nunca me hubiera separado.

Eso no es un error, es una característica que mantiene la historia lineal.
Pero eso no elimina la twig: todavía estás ramificando en origin/develop . Simplemente asegúrese de que la fusión para develop será trivial (porque está trabajando desde los últimos commits de origin/develop ).

Uno incluso podría abogar para asegurarse de que un git pull sea siempre rebase :

 git config --global --bool pull.rebase true 

Si tiene muchas twigs de características locales para rebase, incluso puede automatizar el process con git-rebranch .