diff-so-fancy
มุ่งมั่นที่จะทำให้ความแตกต่างของคุณ เป็นมนุษย์ สามารถอ่านได้ แทนที่จะให้เครื่องอ่านได้ ซึ่งจะช่วยปรับปรุงคุณภาพของโค้ดและช่วยให้คุณมองเห็นข้อบกพร่องได้เร็วขึ้น
Vanilla git diff
vs git
และ diff-so-fancy
เพียงคัดลอกสคริปต์ diff-so-fancy
จากรีลีสล่าสุดไปยัง $PATH
ของคุณ เท่านี้ก็เสร็จเรียบร้อย อีกวิธีหนึ่งในการทดสอบคุณสมบัติการพัฒนาคุณสามารถโคลน repo นี้แล้วใส่สคริปต์ diff-so-fancy
(symlink จะใช้งานได้) ลงใน $PATH
ของคุณ ไดเร็กทอรี lib/
จะต้องถูกเก็บไว้โดยสัมพันธ์กับคอร์สคริปต์
หากคุณใช้เฟรมเวิร์ก ZSH เช่น zgenom หรือ oh-my-zsh โปรดดูคำแนะนำในการติดตั้งโดยละเอียดที่การสนับสนุนปลั๊กอิน Zsh สำหรับสิ่งที่แตกต่างมาก
diff-so-fancy
ยังมีให้ใช้งานจากรีจิสทรี NPM, brew, เป็นแพ็คเกจบน Nix, Fedora, ใน repo พิเศษของ Arch และเป็น ppa:aos สำหรับ Debian/Ubuntu Linux
ปัญหาที่เกี่ยวข้องกับบรรจุภัณฑ์ ('การติดตั้งใช้งานไม่ได้', 'เวอร์ชันล้าสมัย' ฯลฯ) ควรถูกส่งไปยังที่เก็บข้อมูล/เครื่องมือติดตามปัญหาของแพ็คเกจเหล่านั้นโดยตรง หากมี ปัญหาที่เกี่ยวข้องกับบรรจุภัณฑ์ ("การติดตั้งใช้งานไม่ได้" "เวอร์ชันล้าสมัย" ฯลฯ) ควรถูกส่งไปยังที่เก็บ/ตัวติดตามปัญหาของแพ็คเกจเหล่านั้นตามความเหมาะสม
หมายเหตุ: ผู้ใช้ Windows อาจต้องติดตั้ง MinGW หรือระบบย่อย Windows สำหรับ Linux
กำหนดค่าคอมไพล์ให้ใช้ diff-so-fancy
สำหรับเอาต์พุต diff ทั้งหมด:
git config --global core.pager " diff-so-fancy | less --tabs=4 -RF "
git config --global interactive.diffFilter " diff-so-fancy --patch "
สี Git เริ่มต้นไม่เหมาะสม สีที่ใช้สำหรับภาพหน้าจอด้านบนคือ:
git config --global color.ui true
git config --global color.diff-highlight.oldNormal " red bold "
git config --global color.diff-highlight.oldHighlight " red bold 52 "
git config --global color.diff-highlight.newNormal " green bold "
git config --global color.diff-highlight.newHighlight " green bold 22 "
git config --global color.diff.meta " 11 "
git config --global color.diff.frag " magenta bold "
git config --global color.diff.func " 146 bold "
git config --global color.diff.commit " yellow bold "
git config --global color.diff.old " red bold "
git config --global color.diff.new " green bold "
git config --global color.diff.whitespace " red reverse "
ใช้ -u
กับ diff
สำหรับเอาต์พุตแบบรวมและไพพ์เอาต์พุตไปที่ diff-so-fancy
:
diff -u file_a file_b | diff-so-fancy
นอกจากนี้ยังสนับสนุนโหมดเรียกซ้ำของ diff ด้วย -r
หรือ --recursive
เป็น อาร์กิวเมนต์แรก
diff -r -u folder_a folder_b | diff-so-fancy
diff --recursive -u folder_a folder_b | diff-so-fancy
ควรใส่สีบล็อกแรกของบรรทัดว่าง (ค่าเริ่มต้น: จริง)
git config --bool --global diff-so-fancy.markEmptyLines false
ลดความซับซ้อนของส่วนหัว git ให้อยู่ในรูปแบบที่มนุษย์สามารถอ่านได้มากขึ้น (ค่าเริ่มต้น: จริง)
git config --bool --global diff-so-fancy.changeHunkIndicators false
ควรลบ +
หรือ -
at line-start ที่น่ารำคาญออก (ค่าเริ่มต้น: จริง)
git config --bool --global diff-so-fancy.stripLeadingSymbols false
ตามค่าเริ่มต้น ตัวคั่นสำหรับส่วนหัวของไฟล์จะใช้อักขระการวาดเส้นแบบ Unicode หากสิ่งนี้ทำให้เกิดข้อผิดพลาดเอาต์พุตบนเทอร์มินัลของคุณ ให้ตั้งค่าเป็น false
เพื่อใช้อักขระ ASCII แทน (ค่าเริ่มต้น: จริง)
git config --bool --global diff-so-fancy.useUnicodeRuler false
ตามค่าเริ่มต้น ตัวคั่นสำหรับส่วนหัวของไฟล์จะขยายความกว้างเต็มของเทอร์มินัล ใช้การตั้งค่านี้เพื่อกำหนดความกว้างของส่วนหัวไฟล์ด้วยตนเอง
git config --global diff-so-fancy.rulerWidth 80
บุคคล | บทบาท |
---|---|
@scottchiefbaker | หัวหน้าโครงการ |
@โอเจฟอร์ด | การแยกข้อผิดพลาด |
@จีนี่ทิม | แก้ไข Travis OSX |
@AOS | แพ็คเกจเดเบียน |
@Stevemao/@พอลไอริช | ทีมงานปล่อย NPM |
คำขอดึงนั้นค่อนข้างยินดี และควรกำหนดเป้าหมายไปยังสาขา next
นอกจากนี้ เรายังมองหาข้อเสนอแนะหรือแนวคิดเกี่ยวกับวิธีทำให้ diff-so-fancy
ยิ่งขึ้น ไปอีก
เอ็มไอที