Error: No se puede extraer con rebase: tiene cambios no preparados

Resuelto user3597950 asked hace 10 años • 12 respuestas

Comencé a colaborar con algunos amigos en un proyecto y ellos usan el repositorio heroku git.

Cloné el repositorio hace unos días y desde entonces hicieron algunos cambios, así que estoy intentando obtener las últimas actualizaciones.

Ejecuté el git pull --rebasecomando como se indica aquí (¿Es esta la forma correcta de hacerlo?): https://devcenter.heroku.com/articles/sharing#merging-code-changes

Obtuve el siguiente error:

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

Mi suposición es que jugué con el código y ahora quiere que confirme o descarte (¿eso es lo que significa alijo?) los cambios. ¿Es esto lo que está pasando? Si este es el caso, me gustaría descartar cualquier cambio que haya realizado y simplemente obtener el código actualizado del repositorio de git.

¿Alguna idea de lo que puedo hacer?

user3597950 avatar May 07 '14 19:05 user3597950
Aceptado

Si desea mantener los cambios funcionales mientras realiza una rebase, puede utilizar --autostash. De la documentación :

Antes de iniciar la rebase, guarde las modificaciones locales (consulte git-stash[1] ) si es necesario y aplique el almacenamiento cuando haya terminado.

Por ejemplo:

git pull --rebase --autostash
mkobit avatar Apr 06 '2017 18:04 mkobit

Hazlo git status, esto te mostrará qué archivos han cambiado. Como usted indicó que no desea conservar los cambios, puede realizarlos git checkout -- <file name>o git reset --harddeshacerse de ellos.

En su mayor parte, git le dirá qué hacer con los cambios. Por ejemplo, su mensaje de error decía git stashsus cambios. Esto sería si quisieras conservarlos. Después de tirar, lo haría git stash popy sus cambios se volverían a aplicar.

git statusTambién explica cómo deshacerse de los cambios dependiendo de si el archivo está preparado para confirmación o no.

Schleis avatar May 07 '2014 12:05 Schleis

Si desea guardar automáticamente sus cambios y deshacerlos para cada cambio de base, puede hacer esto:

git config --global rebase.autoStash true
agirault avatar Mar 26 '2020 22:03 agirault