Evite que git escriba confusiones de fusión vacías

Acostumbrado a SVN, siempre hago una 'actualización' antes de compartir cualquier cambio, por lo que antes de hacer cualquier bash siempre lo hago primero.

Es molesto cuando lo hago (aunque no hubo ningún cambio en el control remoto) y veo una confirmación para una fusión con 0 changed files with 0 additions and 0 deletions . Comete como:
https://github.com/UCF/Harvard-Mobile-Web/commit/be9d6b2d1ab196554e080d8b8647a9d16c8a5ddf

Encuentro que es un ruido inútil cuando miro el historial de compromisos.

Tal vez hay algo que me falta, ¿hay algún punto para este compromiso? Si no, ¿hay alguna manera de evitar que git escriba commits de fusión vacíos?

La misma definición de git pull es esencialmente "search y fusionar con el nuevo HEAD remoto para mi twig actual". Si quieres cambiar la database en su lugar, simplemente git pull --rebase . Esto modifica la extracción para volver a establecer sus compromisos sobre el nuevo HEAD remoto.

Personalmente, me gusta git fetch (download nuevos objects desde el control remoto, pero no actualizo ninguna twig local) e inspeccionar la situación, luego decidirme a mí mismo si me fusionaré o rebase.

Hay varias opciones, todas viniendo a ser lo mismo: hacer que git use la opción --rebase (como lo menciona @cdhowie).

Probablemente encontrarás que prefieres uno de esos:

Opción 1: utilice explícitamente git pull --rebase cada vez.

Opción 2: para cada proyecto, modifique el file .git/config agregando

 [branch "master"] remote = origin merge = refs/heads/master rebase = true 

Opción 3 : en su ~/.gitconfig

 [branch] autosetuprebase = always 

Personalmente, me gusta la opción 3, ya que me permite no aplicar nada a otros desarrolladores, sin tener que escribir --rebase cada vez.

También vea ¿Cómo hacer que Git tire use rebase por defecto para todos mis repositorys?