No se puede tirar con rebase

Recibo este post:

Cannot pull with rebase: You have unstaged changes. Please commit or stash them. 

Sí, tengo cambios que no están comprometidos. Busqué una forma de rebase mis cambios no confirmados sobre el nuevo código que obtendría de un tirón.

Encontré esto: https://github.com/aanand/git-up

Quiero saber si este es el path a seguir, o si hay forms más modernas de ir.

Yo uso git versión 1.8.1

git-up es probablemente la forma más sofisticada de resolver este problema.
De lo contrario, debe esconder, volver a establecer la base y esconderse.

La "forma más moderna" estará disponible en git 1.8.5 (o 1.9, Q4 2013).
Como menciono en " Git – ¿Cómo editar una confirmación antigua (no anterior) con algunos de los cambios no evaluados del índice actual (estado actual)? ":

" git rebase " aprendido " --[no-]autostash " opción para save los cambios locales en lugar de negarse a ejecutar (a lo que la respuesta normal de la gente era esconderlos y volver a ejecutar).


Desde Git 2.9 (junio de 2016) , ahora tiene (como lo comentó artofwarfare ):

 git pull --rebase --autostash 

Realmente no puedes "volver a establecer la base" de tus cambios no confirmados ya que git aún no los conoce. Debes esconder tus cambios locales antes de ejecutar git pull --rebase luego volver a aplicarlos.

Puede usar el puerto de git-up de Python: https://github.com/msiemens/PyGitUp

 pip install git-up 

Respondo un poco tarde, pero tal vez eso puede ser útil para alguien.

Si solo está buscando una línea para ejecutar stash / pull rebase / stash pop , puede crear un alias.

 git config --global alias.spr '!f(){ git stash && git pull --rebase && git stash pop; };f' 

Esto crea un alias llamado spr que realiza las tres operaciones y le permite pull --rebase rápidamente pull --rebase mientras tiene cambios no pull --rebase .

 git spr