Этот вопрос основан на теме .
В данный момент у меня есть следующая Git-подсказка.
После cd
я получаю следующее предупреждение в папку, не относящуюся к Git.
fatal: Not a git repository (or any of the parent directories): .git
fatal: git diff [--no-index] takes two paths
fatal: Not a git repository (or any of the parent directories): .git
fatal: git diff [--no-index] takes two paths
Мой текущий код для Git-prompt в Zsh
# get the name of the branch we are on
git_prompt_info() {
ref=$(git symbolic-ref HEAD | cut -d'/' -f3)
echo $ref
}
get_git_dirty() {
git diff --quiet || echo '*'
}
autoload -U colors
colors
setopt prompt_subst
PROMPT='%{$fg[blue]%}%c %{$fg_bold[red]%}$(git_prompt_info)$(get_git_dirty)%{$fg[blue]%} $ %{$reset_color%}'
Проблема заключается в следующем коде, который вызывает предупреждение для не-Git папок
get_git_dirty() {
git diff --quiet || echo '*'
}
Я попытался устранить ошибку, перенаправив ошибки в / tmp / безуспешно, так что
get_git_dirty() {
git diff --quiet 2>/tmp/error || echo '*' 2>/tmp/error
}
Как избавиться от предупреждающих сообщений для не-git каталогов?