วิธีการปรับสีเอาต์พุตสถานะ git


93

ฉันต้องการทำให้เอาต์พุตสถานะ git เป็นสีเพื่อให้:

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

ฉันเห็นไฟล์ที่จัดฉากเป็นสีเขียวและไฟล์ที่ไม่มีการจัดเตรียมเป็นสีน้ำเงิน: ภาพหน้าจอของ git-status

.gitconfig ของฉันได้รับการตั้งค่าโดยอ้างอิงจากการค้นหาบางส่วน:

[color]
status = auto

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

2
หมายเหตุ: git 2.9.1 รองรับแอตทริบิวต์ตัวเอียงและขีดฆ่า ดูการแก้ไขของฉันด้านล่าง
VonC

คำตอบ:


132

จากgit config doc :

color.status.<slot>

ใช้สีที่กำหนดเองสำหรับการกำหนดสีสถานะ <slot>เป็นหนึ่งใน:

  • header (ข้อความส่วนหัวของข้อความสถานะ)
  • addedหรือupdated(ไฟล์ที่เพิ่ม แต่ไม่ได้คอมมิต)
  • changed (ไฟล์ที่เปลี่ยนแปลง แต่ไม่ได้เพิ่มในดัชนี)
  • untracked (ไฟล์ที่คอมไพล์ไม่ติดตาม),
  • branch (สาขาปัจจุบัน),
  • nobranch (สีที่ไม่มีคำเตือนสาขาแสดงโดยค่าเริ่มต้นเป็นสีแดง),
  • localBranchหรือremoteBranch(ชื่อสาขาในพื้นที่และระยะไกลตามลำดับเมื่อข้อมูลสาขาและการติดตามแสดงในรูปแบบย่อของสถานะ)
  • unmerged (ไฟล์ที่มีการเปลี่ยนแปลงที่ยังไม่ได้ผสาน)

ค่าของตัวแปรเหล่านี้อาจระบุเป็นในcolor.branch.<slot>.

สิ่งนี้จะได้ผล:

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

อย่างไรก็ตาม:

new files = green
deleted files = red

เป็นไปไม่ได้: คุณต้องเลือกสีเดียว:

  • color.status.addedถ้าพวกเขาจะเพิ่มลงในดัชนีที่พวกเขาจะเลือกสีสำหรับ
  • color.status.modifiedถ้าพวกเขาจะไม่ได้เพิ่มดัชนีพวกเขาจะเลือกสีหรือ

แน่นอนตามความคิดเห็นของelboletaire :

อย่าลืมเปิดใช้งานเอาต์พุตการระบายสีหากยังไม่ได้เปิดใช้งานก่อนหน้านี้:

git config --global color.ui true

Shaun Luttinเพิ่ม:

คำสั่งยังสามารถใช้หลายพารามิเตอร์ในเครื่องหมายคำพูด ซึ่งรวมถึงสองสี (พื้นหลังพื้นหน้า) จากรายการนี้:

ปกติ, ดำ, แดง, เขียว, เหลือง, น้ำเงิน, ม่วงแดง, ฟ้าและขาว

และยังมีแอตทริบิวต์ (สไตล์) จากรายการนี้ด้วย:

ตัวหนาสลัว ul กะพริบและถอยหลัง

สิ่งนี้จะได้ผล:

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

หมายเหตุ: ด้วย git 2.9.1 (กรกฎาคม 2016) รูปแบบการระบายสีผลลัพธ์ได้เรียนรู้คุณลักษณะใหม่สองตัวคือตัวเอียงและโจมตีนอกเหนือจากตัวหนาย้อนกลับ ฯลฯ ที่มีอยู่

ดูกระทำ 9dc3515 , กระทำ 54590a0 , กระทำ 5621068 , กระทำ df8e472 , กระทำ ae989a6 , กระทำ adb3356 , กระทำ 0111681 (23 มิถุนายน 2016) โดยเจฟฟ์คิง (peff )
(รวมโดยJunio C Hamano - gitster-ในการกระทำ 3c5de5c , 11 กรกฎาคม 2016)

นอกจากนี้ยังอนุญาต " no-" สำหรับการปฏิเสธแอตทริบิวต์

การใช้ " no-bold" มากกว่า " nobold" นั้นอ่านง่ายกว่าและพิมพ์ได้เป็นธรรมชาติกว่า (สำหรับฉันแล้วแม้ว่าฉันจะเป็นคนที่แนะนำ "ขุนนาง" ตั้งแต่แรกก็ตาม) เป็นเรื่องง่ายที่จะอนุญาตทั้งสองอย่าง


31
อย่าลืมเปิดใช้งานเอาต์พุตการระบายสีหากไม่ได้เปิดใช้งานไว้ก่อนหน้านี้:git config --global color.ui true
elboletaire

1
@elboletaire จุดดี. ฉันได้รวมไว้ในคำตอบเพื่อให้มองเห็นได้มากขึ้น
VonC

1
ขอบคุณ color.ui คือคำตอบ
Robeezy
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.