zsh 中的星号 Git 信息

Asterisk in zsh Git info

我使用我的终端 运行 类似 npm run start 的东西,而我在 VSCode 中使用终端来执行 git 命令。在我的笔记本电脑上,这完美地工作,但是在我的其他设备上设置 zsh 之后,有一些我从未注意到的事情:

在我的终端上:~/Desktop/... | master *1 在 VSCode 的终端上:~/Desktop/... | master *2

master后面的数字是什么意思?这导致我在发布后毫无意义地调试了 1 小时,如果我在我的终端上执行 npm run start,VSCode 上的任何更改都不会热重新加载并应用更改。另一方面,如果我运行 npm run start in VSCode,它正常工作。

似乎每个 shell 都在当前分支的不同版本上工作。知道星号是什么意思吗?谢谢!

*2 通常(取决于你的提示主题)意味着你的仓库中有 2 个修改过的文件。

大多数提示主题使用same symbols as git-prompt.sh(与git一起分发):

  • * 未暂存
  • +上演
  • $ 藏起来
  • % 个未跟踪的文件
  • <落后
  • >领先
  • <>分歧
  • =没区别
  • | 操作进行中
  • ? 稀疏结帐

但是请注意,流行的 Powerlevel10k 提示主题使用这些符号 in an entirely different way。请注意。


如果您有一段时间不使用终端,数字可能会不同步;当您未在终端中执行任何操作时,提示不会更新。尝试按 EnterControlL.

It seems as though each shell is working on a different version of the current branch.

那是不可能的;那么它就不是同一个分支。但是,您完全有可能在两个不同的回购协议中工作。在每个终端中键入 pwd 以查看完整路径并检查它们是否不同。

根据您的提示主题(我使用 powerlevel10k),这可能表明您在存储中使用了多少插槽。您可以通过以下方式检查:

git stash list

如有必要,使用

删除它们

git stash clear

我遇到了这个完全相同的问题,*1 在我的例子中是我保留的“隐藏”更改。删除使用 GitKraken 删除存储,工作。