Bash
如何著色git的輸出?
有沒有辦法為 git(或任何命令)著色輸出?
考慮:
baller@Laptop:~/rails/spunky-monkey$ git status # On branch new-message-types # 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: app/models/message_type.rb # no changes added to commit (use "git add" and/or "git commit -a") baller@Laptop:~/rails/spunky-monkey$ git add app/models
和
baller@Laptop:~/rails/spunky-monkey$ git status # On branch new-message-types # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # modified: app/models/message_type.rb #
輸出看起來相同,但資訊完全不同:文件已從 unstaged 變為 staged for commit。
有沒有辦法給輸出著色?例如,未暫存的文件是紅色的,暫存的文件是綠色的?
甚至
Changes not staged for commit:
是紅色和# Changes to be committed:
綠色?在 Ubuntu 中工作。
編輯:Google搜尋發現這個答案很好:
git config --global --add color.ui true
。但是,有沒有更通用的解決方案可以為命令輸出添加顏色?
[color]
您可以在您的部分中創建一個部分~/.gitconfig
,例如以下內容[color] diff = auto status = auto branch = auto interactive = auto ui = true pager = true
您還可以很好地控制您想要以何種方式著色的內容,例如
[color "status"] added = green changed = red bold untracked = magenta bold [color "branch"] remote = yellow
我希望這能讓你開始。當然,您需要一個支持顏色的終端。
另請參閱此答案,了解直接從命令行添加著色的方法。