เริ่มต้นด้วยgit
v1.7.11 คุณสามารถใช้git difftool --dir-diff
เพื่อสร้างไดเรกทอรีที่แตกต่าง
คุณลักษณะนี้ทำงานได้ดีกับ Meld 3.14.2 และช่วยให้คุณเรียกดูไฟล์ที่แก้ไขทั้งหมด:
git difftool --dir-diff --tool=meld HEAD~ HEAD
นี่คือฟังก์ชั่นทุบตีที่มีประโยชน์:
git-diff-meld() (
git difftool --dir-diff --tool=meld "${1:-HEAD~}" "${2:-HEAD}"
)
คำตอบต่อไปนี้นำไปใช้กับgit
การติดตั้งที่เก่ากว่า v1.7.11
คำถามเดียวกันนี้ถูกถามเกี่ยวกับการรายการจดหมายคอมไพล์
ฉันรวบรวมเชลล์สคริปต์ตามเธรดอีเมลนั้นซึ่งมีไดเรกทอรีแตกต่างกันระหว่างการคอมมิท
เริ่มต้นด้วย git v1.7.10 git-diffall
สคริปต์จะรวมอยู่ในการcontrib
ติดตั้ง git มาตรฐาน
สำหรับรุ่นก่อน v1.7.10 คุณสามารถติดตั้งจากgit-diffall
โครงการGitHub
นี่คือรายละเอียดโครงการ:
สคริปต์ git-diffall จัดเตรียมกลไกการกระจายไดเรกทอรีตามสำหรับ git สคริปต์พึ่งพาตัวเลือกการกำหนดค่า diff.tool เพื่อกำหนดว่าจะใช้ตัวแสดง diff แบบใด
สคริปต์นี้เข้ากันได้กับทุกรูปแบบที่ใช้เพื่อระบุช่วงของการแก้ไขที่ต่างกัน:
1) git diffall
: การแสดง diff ระหว่างต้นไม้การทำงานและการจัดฉากการเปลี่ยนแปลง
2) git diffall --cached [<commit>]
: การแสดง diff ระหว่างฉากการเปลี่ยนแปลงและHEAD
(หรือชื่ออื่น ๆ ที่กระทำ)
3) git diffall <commit>
: การแสดง diff ระหว่างต้นไม้ทำงานและตั้งชื่อกระทำ
4) git diffall <commit> <commit>
: diff แสดงระหว่างสองชื่อกระทำ
5) git diffall <commit>..<commit>
: เดียวกัน
6 ข้างต้นgit diffall <commit>...<commit>
: แสดงการเปลี่ยนแปลงในสาขาที่มีและมากถึงวินาทีโดยเริ่มจากบรรพบุรุษร่วมของทั้งสอง<commit>
หมายเหตุ: แบบฟอร์มทั้งหมดใช้ตัว จำกัด เส้นทางที่เป็นตัวเลือก [--] [<path>]
สคริปต์นี้จะขึ้นอยู่กับตัวอย่างที่จัดไว้ให้โดยโทมัส Rast ในรายการ