2012-10-09 30 views
70

Tôi muốn colorize đầu ra git-status để:Làm cách nào để tô màu đầu ra git-status?

untracked files = magenta 
new files = green 
modified files = blue 
deleted files = red 

tôi thay vì nhìn thấy dàn dựng tập tin trong file màu xanh lá cây và màu xanh lam unstaged: screenshot of git-status

.gitconfig của tôi là thiết lập với những điều sau đây dựa trên một số tìm kiếm:

[color] 
status = auto 

[color "status"] 
added = green 
changed = blue 
untracked = magenta 
deleted = red 
+1

Lưu ý: git 2.9.1 hỗ trợ các thuộc tính nghiêng và tấn công. Xem chỉnh sửa của tôi bên dưới. – VonC

Trả lời

97

Từ git config doc:

color.status.<slot> 

Sử dụng màu tùy chỉnh để tô màu trạng thái.
<slot> là một trong số:

  • header (văn bản tiêu đề của thông báo trạng thái),
  • added hoặc updated (tập tin này được thêm vào nhưng không cam kết),
  • changed (tập tin này được thay đổi, nhưng không được thêm vào chỉ mục),
  • untracked (các tệp không được theo dõi bởi git),
  • branch (nhánh hiện tại), hoặc
  • nobranch (màu không có cảnh báo chi nhánh nào được hiển thị, mặc định là màu đỏ).

Giá trị của các biến này có thể được chỉ định như trong color.branch.<slot>.

Vì vậy, đây sẽ làm việc:

git config color.status.changed blue 
git config color.status.untracked magenta 

Tuy nhiên:

new files = green 
deleted files = red 

là không thể: bạn cần phải chọn một màu:

  • nếu chúng được thêm vào chỉ mục, họ sẽ chọn màu cho color.status.added.
  • nếu chúng không được thêm vào chỉ mục, chúng sẽ chọn màu hoặc color.status.modified.

Tất nhiên, như commented bởi elboletaire:

Hãy nhớ để cho phép đầu ra màu nếu nó chưa được kích hoạt trước đó:

git config --global color.ui true 

Shaun Luttin thêm :

Lệnh cũng có thể lấy nhiều tham số trong dấu ngoặc kép. Điều này bao gồm hai màu (nền trước) từ danh sách này:

bình thường, đen, đỏ, xanh lục, vàng, xanh, đỏ tươi, lục lam và trắng;

và nó cũng bao gồm một thuộc tính (phong cách) khỏi danh sách này:

đậm, mờ, ul, chớp và ngược lại.

Vì vậy, đây sẽ làm việc:

git config color.status.changed "blue normal bold" 
git config color.status.header "white normal dim" 

Lưu ý: với git 2.9.1 (July 2016), Đề án màu đầu ra học hai thuộc tính mới, nghiêng đình, ngoài hiện có in đậm, đảo ngược, v.v.

Xem commit 9dc3515, commit 54590a0, commit 5621068, commit df8e472, commit ae989a6, commit adb3356, commit 0111681 (23 tháng 6 năm 2016) bởi Jeff King (peff).
(Merged bởi Junio C Hamano -- gitster -- trong commit 3c5de5c, 11 Jul 2016)

Nó cũng cho phép "no-" cho phủ thuộc tính

Sử dụng "no-bold" hơn là "nobold" là dễ dàng hơn để đọc và tự nhiên hơn để gõ (với tôi, dù sao, mặc dù tôi là người giới thiệu "nobold" ở nơi đầu tiên). Thật dễ dàng để cho phép cả hai.

+20

Hãy nhớ bật màu đầu ra nếu nó chưa được bật trước đó: 'git config --global color.ui true' – elboletaire

+1

@elboletaire điểm tốt. Tôi đã bao gồm nó trong câu trả lời cho khả năng hiển thị nhiều hơn. – VonC

+0

Cảm ơn, color.ui là câu trả lời. – Robeezy