Oh My Zsh を更新すると、ステージングされていない変更をリベースするエラーが発生するのはなぜですか?

Oh My Zsh を更新すると、ステージングされていない変更をリベースするエラーが発生するのはなぜですか?

ターミナル ウィンドウを開くと、Oh My Zsh がアップデートを確認しようとしました。yesYと入力すると、次のエラー メッセージが表示されました。

リベースでプルできません: ステージングされていない変更があります。
コミットまたはスタッシュしてください。

試してみるgit statusと、Git は現在のディレクトリがリポジトリではないことを伝えました (驚きませんでした)。

それで、何について不満を言っているのでしょうか?

答え1

おそらく設定ファイルを変更したのでしょう。oh-my-zshディレクトリに移動して、と入力しますgit status

私の場合の結果(テーマの 1 つを変更しました):

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

2行目の末尾の「.」を忘れないでください

答え3

ワンライナーソリューション

cd "$ZSH" && git stash && upgrade_oh_my_zsh && git stash pop
  1. cd "$ZSH"現在の ZSH ディレクトリを変更します。
  2. git stashローカルの変更をステージングし、git 経由でマスターに戻ります。
  3. upgrade_oh_my_zshohMyZsh をアップグレード
  4. git stash pop変更を維持するには、おそらくテーマを使用します。

答え4

ローカルの変更を削除しても問題ない場合は、次を実行します。

git checkout -f master
git pull

これにより、最新の状態が確保され、ローカル マシンの混乱が解消されます。

関連情報