¿Por qué la actualización de Oh My Zsh me da un error sobre el cambio de base con cambios no realizados?

¿Por qué la actualización de Oh My Zsh me da un error sobre el cambio de base con cambios no realizados?

Abrí una ventana de terminal y Oh My Zsh quería buscar actualizaciones. Ingresé Ypara sí y luego recibí el mensaje de error:

No se puede realizar rebase: tiene cambios sin realizar.
Por favor, confírmalos o guárdalos.

Lo intenté git statusy Git me dijo que el directorio actual no era un repositorio (lo cual no me sorprendió).

Entonces, ¿de qué se queja?

Respuesta1

Probablemente hiciste cambios en los archivos de configuración. Vaya a su oh-my-zshdirectorio y escriba git status.

Resultados para mí (he cambiado uno de los temas):

╭─ jane  ~
╰─ λ cd .oh-my-zsh                                                      1:57:10
╭─ jane  ~/.oh-my-zsh  ‹master*›
╰─ λ git status                                                         1:57:17
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   themes/bira.zsh-theme

no changes added to commit (use "git add" and/or "git commit -a")

Verás que algunos archivos han sido modificados.

Puede escribir git stashpara deshacerse temporalmente de esos cambios e intentar actualizar nuevamente.

Respuesta2

Esto es lo que tuve que hacer para solucionarlo:

cd ~/.oh-my-zsh/
git add .
git commit -m "commit message"
upgrade_oh_my_zsh

No olvides el "." al final de la segunda línea

Respuesta3

Solución de una sola línea

cd "$ZSH" && git stash && upgrade_oh_my_zsh && git stash pop
  1. cd "$ZSH"cambie su directorio ZSH actual.
  2. git stashPrepare sus cambios locales y regrese al master a través de git.
  3. upgrade_oh_my_zshactualizar ohMyZsh
  4. git stash poppara mantener los cambios, probablemente sus temas.

Respuesta4

Si está de acuerdo con eliminar cualquiera de sus cambios locales, ejecute:

git checkout -f master
git pull

Esto asegura que esté actualizado y elimina cualquier desorden de su máquina local.

información relacionada