为什么更新 Oh My Zsh 时会出现有关使用未暂存更改进行变基的错误?

为什么更新 Oh My Zsh 时会出现有关使用未暂存更改进行变基的错误?

我打开了一个终端窗口,Oh My Zsh 想要检查更新。我输入了Y“是”,然后收到错误消息:

无法使用 rebase 进行拉取:您有未暂存的更改。
请提交或存储它们。

我尝试了一下git status,Git 告诉我当前目录不是存储库(这并不让我感到惊讶)。

那么,它在抱怨什么呢?

答案1

您可能对配置文件进行了更改。转到您的oh-my-zsh目录并输入git status

我的结果(我改变了其中一个主题):

╭─ 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")

您将看到一些文件已被修改。

您可以输入git stash以暂时摆脱这些更改,然后尝试再次更新。

答案2

以下是我修复此问题需要做的事情:

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

不要忘记第二行末尾的“。”

答案3

单线解决方案

cd "$ZSH" && git stash && upgrade_oh_my_zsh && git stash pop
  1. cd "$ZSH"更改当前 ZSH 目录。
  2. git stash暂存您的本地更改并通过 git 返回到 master。
  3. upgrade_oh_my_zsh升级 ohMyZsh
  4. git stash pop保留更改,可能是您的主题。

答案4

如果您愿意放弃任何本地更改,请运行:

git checkout -f master
git pull

这可确保您保持最新状态并清除本地机器上的任何混乱。

相关内容