我有一個bash PS1獲得紅色,如果我的git目錄更改或綠色,如果沒有更改。獲取git狀態布爾沒有緩慢的差異列表
if [ $? -eq 0 ]; then \ echo "$(echo `git status` | grep "nothing to commit" > /dev/null 2>&1; \ if [ "$?" -eq "0" ]; then \ # @4 - Clean repository - nothing to commit echo "\n'$Green'"$(__git_ps1 "(%s)"'$Color_Off'); \ else \ # @5 - Changes to working tree echo "\n'$IRed'"$(__git_ps1 "(%s)"'$Color_Off'); \ fi)\$ "; \ fi)'
這項工作很好! 但問題是,在一些工作目錄非常緩慢,因爲存在很多變化和大的差異。
什麼是不完整的
我試着用git status --short
或git status --porcelain
但速度很慢但更好的辦法讓git的狀態布爾(是改變或不改變)。
我推薦[posh git](https://github.com/dahlbyk/posh-git)而不是自己做這個。它像你描述的那樣做,但也有更多。 – adrianbanks