git 状态可以提及藏匿处吗?

  • 本文关键字:藏匿 状态 git git
  • 更新时间 :
  • 英文 :


我往往会忘记我藏了一些更改。我希望看到git status输出中提到的存储,当存储不为空时。有没有办法git status做到这一点?

这现在是 git status 中的内置选项,因此您可以执行以下操作:

[status]
  showStash = true

如果你不习惯编辑你的 git 配置文件,你可以这样做

git config --global status.showStash true

据我所知,没有内置选项可以执行此操作,但是有几种方法可以实现预期的效果。

git-prompt.sh

按照其文档中的说明获取git-prompt.sh脚本,并设置GIT_PS1_SHOWSTASHSTATE变量,例如在~/.bashrc

. ~/.bash/git-prompt.sh
GIT_PS1_SHOWSTASHSTATE=1
PROMPT_COMMAND='__git_ps1 "u@h:w" "\$ "'

现在,您的命令提示符将在 git 提示符下的分支名称旁边显示一个美元符号:

user@host:~/repo (master$)$

git 别名

您可以为所需的功能创建别名,尽管别名不能status,但它必须与任何内置命令不同:

git config --global alias.vstatus '!git status; git stash list'

这将设置一个全局别名vstatus(详细状态),该别名将简单地git status运行并背靠背git stash list

外壳别名

人们总是可以创建一个 shell 别名来拦截 git 子命令调用,因为内置命令的 git 别名会被忽略。在.bash_aliases

git () {
    command git "$@" || return # preserve $?
    [[ $1 = status ]] && command git stash list
}

这将始终在每个 git 状态后运行git stash list。当存储为空时,不会输出任何内容。

最新更新