He comenzado a colaborar con algunos amigos en un proyecto y usan el repositorio heroku git.
Cloné el repositorio hace unos días y desde entonces han realizado algunos cambios, así que estoy tratando de obtener las últimas actualizaciones
Ejecuté el git pull --rebase
comando 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.
Supongo que me equivoqué con el código y ahora quiere que confirme o descarte (¿es eso lo que significa alijo?) Los cambios. ¿Es esto lo que está pasando? Si este es el caso, me gustaría descartar cualquier cambio que pudiera haber hecho y simplemente obtener el código actualizado del repositorio de git.
¿Alguna idea de lo que puedo hacer?
git push -f
Si desea mantener sus cambios de trabajo mientras realiza un rebase, puede usar
--autostash
. De la documentación :Por ejemplo:
fuente
git config --global rebase.autoStash true
entonces no necesita pasar el interruptor.rebase.autostash
está disponible desde 2.6).git rebase --interactive
muy bien!Tirar con rebase es una buena práctica en general.
Sin embargo, no puede hacerlo si su índice no está limpio, es decir, ha realizado cambios que no se han confirmado.
Puede hacer esto para evitarlo, suponiendo que desea conservar sus cambios:
git stash
git stash apply stash@{0}
o el más simplegit stash pop
fuente
git stash pop
aplicar los cambios escondidos más recientemente y evitar memorizar los más largosapply stash@{0}
..bashrc
(o lo que sea que uses):alias stashpull='git stash; git pull; git stash pop'
Primero comience con un
git status
Vea si tiene cambios pendientes. Para descartarlos, corre
fuente
Esto funciona para mi:
fuente
Siempre puedes hacer
y obtendrá (a) ningún cambio si tiene cambios no confirmados que entran en conflicto con los cambios aguas arriba o (b) el mismo efecto que alijo / extracción / aplicación: una nueva versión para ponerlo en los últimos cambios de HEAD y sus cambios no confirmados restantes como es.
fuente
Cuando el cambio no organizado se debe a que git está tratando de arreglar las convenciones de eol en un archivo (como siempre es mi caso), ninguna cantidad de almacenamiento, extracción o reinicio lo hará desaparecer.
Sin embargo, si la intención es realmente modificar e ignorar los cambios no organizados, entonces lo que hago es eliminar la rama localmente y luego volver a revisarla.
Voila! No me ha fallado todavía.
fuente
Si desea guardar automáticamente sus cambios y desarmarlos para cada rebase, puede hacer esto:
fuente
--autostash
cuando solo puede ser ... automático?