git log --decorate
จะใส่โดยค่าเริ่มต้น:
- HEAD เป็นสีฟ้า
- กิ่งก้านที่ห่างไกลเป็นสีแดง
- แท็กเป็นสีเขียว
และสามารถเปลี่ยนแปลงได้ผ่าน color.decorate
config
แต่git log --format
ไม่ได้เสนอวิธีการแสดงเฉพาะHEAD
หรือรีโมทหรือสาขา: ทั้งสามจะแสดงผ่านโดย%d
มีสีเดียวที่เป็นไปได้
อัปเดตเมื่อเดือนพฤษภาคม 2013 ตามที่ระบุไว้ด้านล่างโดยElad Shahar (โหวตเพิ่ม) git 1.8.3 มีอีกหนึ่งทางเลือก:
git log –format
ตอนนี้มี%C(auto)
โทเค็นที่บอกให้ Git ใช้สีเมื่อแก้ไข%d
(ตกแต่ง) %h
(ชื่อวัตถุคอมมิตสั้น ๆ ) ฯลฯ สำหรับเอาต์พุตเทอร์มินัล
โพสต์บล็อก Atlassianนี้แสดงความคิดเห็นว่าคุณลักษณะนี้เป็นส่วนหนึ่งของคุณลักษณะอื่น ๆ ที่เน้นรูปแบบ ( git rebase
, git count-objects
) และสี ( git branch -vv
)
สิ่งนี้มาเพิ่มเติมจากรุ่นก่อนหน้าauto,reset
ของ 1.8.2ซึ่งจะปิดใช้งานสีโดยอัตโนมัติเมื่อไม่ได้ใช้เอาต์พุตสำหรับเทอร์มินัล 1
%C(auto,blue)Hello%C(auto,reset)
หมายเหตุ: git 2.4+ (Q2 2015) จะทำการรีเซ็ตสีรอบ ๆ ชื่อสาขาได้ดีขึ้น
ดูการกระทำ 5ee8758โดยJunio C Hamano ( gitster
) :
log --decorate
: อย่าให้สี "กระทำ" รั่วไหลในรายการถัดไป
ใน " git log --decorate
" คุณจะเห็นส่วนหัวของการคอมมิตดังนี้:
commit ... (HEAD, jc/decorate-leaky-separator-color)
ที่ไหน " commit ... (
" ทาสีcolor.diff.commit
" HEAD
" ในcolor.decorate.head
" ,
" ในcolor.diff.commit
ชื่อสาขาใน
color.decorate.branch
แล้วปิด " )
" color.diff.commit
ใน
หากคุณต้องการวาด HEAD และชื่อสาขาในท้องถิ่นด้วยสีเดียวกับเนื้อหา (อาจเป็นเพราะสีฟ้าและสีเขียวจางเกินไปบนขั้วสีดำบนสีขาวที่จะอ่านได้) คุณคงไม่อยากพูด
[color "decorate"]
head = black
branch = black
เนื่องจากคุณจะไม่สามารถใช้การกำหนดค่าเดิมซ้ำบนเทอร์มินัลสีขาวบนสีดำได้ คุณจะคาดหวังอย่างไร้เดียงสา
[color "decorate"]
head = normal
branch = normal
ในการทำงาน แต่น่าเสียดายที่มันไม่ได้
มันวาดสตริง " HEAD
" และชื่อสาขาด้วยสีเดียวกับวงเล็บเปิดหรือลูกน้ำระหว่างองค์ประกอบการตกแต่ง
เนื่องจากรหัสลืมรีเซ็ตสีหลังจากพิมพ์ "คำนำหน้า" ด้วยสีของตัวเอง
โปรดทราบว่า git 2.5 (Q2 2015) แก้ไขข้อบกพร่อง:
ดูการกระทำ 429ad20โดยJunio C Hamano ( gitster
) , 13 พฤษภาคม 2015
(ผสานโดยJunio C Hamano - gitster
-ในการกระทำ fd70780 , 22 พฤษภาคม 2015)
log
: อย่าย่อชื่อการตกแต่งเร็วเกินไป
การlog --decorate
เพิ่มประสิทธิภาพ "" ใน Git 2.4 ที่แสดงการกระทำที่ส่วนปลายของสาขาปัจจุบันเช่น " HEAD -> master
" ใช้ไม่ได้กับ --decorate = full
Git 2.9.x + (Q3 2016) จะแก้ไขข้อบกพร่องอื่นและเป็นเกียรติcolor=auto
สำหรับ%C(auto)
Git 2.10.2 (ตุลาคม 2016) การแก้ไขข้อบกพร่องอื่น ๆ ที่มีการกระทำ 82b83da (29 กันยายน 2016) และกระทำ c99ad27 (17 กันยายน 2016) โดยRené Scharfe ( ``)
(รวมโดยJunio C Hamano - gitster
-ในการกระทำ 76796d4 , 28 ตุลาคม 2016)
pretty
: หลีกเลี่ยงการเพิ่มการรีเซ็ต%C(auto)
หากเอาต์พุตว่างเปล่า
เราปล่อยลำดับการหลบหนีสำหรับการรีเซ็ตสีและแอตทริบิวต์%C(auto)
เพื่อให้แน่ใจว่าการแสดงสีอัตโนมัติตามที่ต้องการ
หยุดทำเช่นนั้นหาก strbuf เอาต์พุตว่างกล่าวคือเมื่อ%C(auto)
ปรากฏขึ้นที่จุดเริ่มต้นของสตริงรูปแบบเพราะไม่จำเป็นต้องรีเซ็ตและเราบันทึกสองสามไบต์ในเอาต์พุต
pretty
: ให้%C(auto)
รีเซ็ตแอตทริบิวต์ทั้งหมด
รีเซ็ตสีและคุณลักษณะเมื่อ%C(auto)
เปิดใช้งานการควบคุมอัตโนมัติเต็มรูปแบบ มิฉะนั้นคุณลักษณะเช่นตัวหนาหรือย้อนกลับอาจจะยังคงมีผลตั้งแต่ก่อนหน้านี้%C
ตัวยึด