ภาษาอังกฤษภาษาฝรั่งเศสสเปน

Ad


ไอคอน Fav ของ OnWorks

git-diff-files - ออนไลน์ใน Cloud

เรียกใช้ไฟล์ git-diff ในผู้ให้บริการโฮสต์ฟรีของ OnWorks ผ่าน Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

นี่คือคำสั่ง git-diff-files ที่สามารถเรียกใช้ในผู้ให้บริการโฮสติ้งฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

โครงการ:

ชื่อ


git-diff-files - เปรียบเทียบไฟล์ในแผนผังการทำงานและดัชนี

เรื่องย่อ


คอมไพล์ ไฟล์ต่าง [-q] [-0|-1|-2|-3|-c|--cc] [ ] [ ...]

DESCRIPTION


เปรียบเทียบไฟล์ในแผนผังการทำงานและดัชนี เมื่อระบุพาธแล้ว ให้เปรียบเทียบ
เฉพาะเส้นทางที่มีชื่อเท่านั้น มิฉะนั้น รายการทั้งหมดในดัชนีจะถูกเปรียบเทียบ รูปแบบผลลัพธ์
เหมือนกับสำหรับ คอมไพล์ ดัชนีส่วนต่าง และ คอมไพล์ ต่างต้นไม้.

OPTIONS


-p, -u, --แพทช์
สร้างแพตช์ (ดูหัวข้อเกี่ยวกับการสร้างแพตช์)

-s, --no-แพทช์
ระงับเอาต์พุต diff มีประโยชน์สำหรับคำสั่งเช่น git show ที่แสดงแพตช์โดย
ค่าเริ่มต้นหรือเพื่อยกเลิกผลกระทบของ --patch

-ยู , --unified=
สร้างความแตกต่างด้วย บรรทัดบริบทแทนที่จะเป็นสามบรรทัดปกติ หมายถึง -p.

--ดิบ
สร้างส่วนต่างในรูปแบบดิบ นี่คือค่าเริ่มต้น

--patch-กับ-ดิบ
คำพ้องความหมายสำหรับ -p --raw

--ขั้นต่ำ
ใช้เวลาเพิ่มเติมเพื่อให้แน่ใจว่าได้ส่วนต่างที่น้อยที่สุดเท่าที่จะเป็นไปได้

--ความอดทน
สร้างความแตกต่างโดยใช้อัลกอริธึม "ความแตกต่างของความอดทน"

--ฮิสโตแกรม
สร้างความแตกต่างโดยใช้อัลกอริทึม "histogram diff"

--diff-algorithm={ความอดทน|น้อยที่สุด|ฮิสโตแกรม|ไมเยอร์}
เลือกอัลกอริธึมต่าง ตัวแปรมีดังนี้:

ค่าเริ่มต้น myers
อัลกอริธึม diff โลภพื้นฐาน ปัจจุบันนี้เป็นค่าเริ่มต้น

ต่ำสุด
ใช้เวลาเพิ่มเติมเพื่อให้แน่ใจว่าได้ส่วนต่างที่น้อยที่สุดเท่าที่จะเป็นไปได้

ความอดทน
ใช้อัลกอริธึม "patience diff" เมื่อสร้างแพตช์

histogram
อัลกอริธึมนี้ขยายอัลกอริธึมความอดทนเพื่อ "สนับสนุนการเกิดขึ้นต่ำ
องค์ประกอบ".

ตัวอย่างเช่น หากคุณกำหนดค่าตัวแปร diff.algorithm เป็นค่าที่ไม่ใช่ค่าเริ่มต้นและ
ต้องการใช้ค่าเริ่มต้น จากนั้นคุณต้องใช้ --diff-algorithm=default ตัวเลือก

--สถิติ[= [, [, ]]]
สร้าง diffstat โดยค่าเริ่มต้น พื้นที่มากเท่าที่จำเป็นจะถูกใช้สำหรับ
ส่วนชื่อไฟล์และส่วนที่เหลือสำหรับส่วนกราฟ ค่าเริ่มต้นความกว้างสูงสุดของเทอร์มินัล
ความกว้าง หรือ 80 คอลัมน์หากไม่ได้เชื่อมต่อกับเทอร์มินัล และสามารถแทนที่ได้โดย .
ความกว้างของส่วนชื่อไฟล์สามารถถูกจำกัดโดยให้ความกว้างอื่น
หลังเครื่องหมายจุลภาค ความกว้างของส่วนกราฟสามารถจำกัดได้โดยใช้
--stat-กราฟ-ความกว้าง= (มีผลกับคำสั่งทั้งหมดที่สร้างกราฟสถิติ) หรือโดย
การตั้งค่า diff.statGraphWidth= (ไม่มีผลกับ git format-patch) โดยให้
พารามิเตอร์ที่สาม , คุณสามารถ จำกัด การส่งออกเป็นอันดับแรก สายตาม
โดย ... ถ้ามีมากกว่านี้

พารามิเตอร์เหล่านี้สามารถตั้งค่าทีละรายการด้วย --stat-width= ,
--stat-name-width= และ --stat-count= .

--ตัวเลข
คล้ายกับ --stat แต่แสดงจำนวนบรรทัดที่เพิ่มและลบในรูปแบบทศนิยมและ
ชื่อพาธที่ไม่มีตัวย่อเพื่อให้เป็นมิตรกับเครื่องมากขึ้น สำหรับไฟล์ไบนารี
เอาต์พุตสอง - แทนที่จะพูดว่า 0 0

--ชอร์ตสแตท
ส่งออกเฉพาะบรรทัดสุดท้ายของรูปแบบ --stat ที่มีจำนวนการแก้ไขทั้งหมด
ไฟล์ตลอดจนจำนวนบรรทัดที่เพิ่มและลบ

--dirstat[= ]
เอาท์พุตการกระจายของจำนวนการเปลี่ยนแปลงสัมพัทธ์สำหรับแต่ละไดเร็กทอรีย่อย NS
พฤติกรรมของ --dirstat สามารถปรับแต่งได้โดยส่งรายการที่คั่นด้วยเครื่องหมายจุลภาคของ
พารามิเตอร์ ค่าดีฟอลต์ถูกควบคุมโดยตัวแปรคอนฟิกูเรชัน diff.dirstat
(ดู git-config.php(1)). มีพารามิเตอร์ต่อไปนี้:

การเปลี่ยนแปลง
คำนวณตัวเลข dirstat โดยการนับบรรทัดที่ถูกลบออกจาก
ต้นทางหรือเพิ่มไปยังปลายทาง สิ่งนี้ละเว้นปริมาณของรหัสบริสุทธิ์
การเคลื่อนไหวภายในไฟล์ กล่าวอีกนัยหนึ่ง การจัดเรียงบรรทัดใหม่ในไฟล์ไม่ใช่
นับเท่าการเปลี่ยนแปลงอื่นๆ นี่เป็นพฤติกรรมเริ่มต้นเมื่อไม่มีพารามิเตอร์
ได้รับ

เส้น
คำนวณตัวเลข dirstat โดยทำการวิเคราะห์ diff ตามบรรทัดปกติและ
สรุปจำนวนบรรทัดที่ถูกลบ/เพิ่ม (สำหรับไฟล์ไบนารี ให้นับชิ้นขนาด 64 ไบต์
แทน เนื่องจากไฟล์ไบนารีไม่มีแนวคิดที่เป็นธรรมชาติของเส้น) นี่คือเพิ่มเติม
ราคาแพง --dirstat พฤติกรรมมากกว่าการเปลี่ยนแปลงพฤติกรรม แต่มันนับ
จัดเรียงบรรทัดใหม่ภายในไฟล์ให้มากที่สุดเท่าที่การเปลี่ยนแปลงอื่นๆ ผลลัพธ์ที่ได้คือ
สอดคล้องกับสิ่งที่คุณได้รับจากตัวเลือกสถิติอื่น ๆ

ไฟล์
คำนวณตัวเลข dirstat โดยนับจำนวนไฟล์ที่เปลี่ยนแปลง แต่ละคนเปลี่ยนไป
ไฟล์นับเท่ากันในการวิเคราะห์ dirstat นี่คือการคำนวณที่ถูกที่สุด
--dirstat พฤติกรรม เนื่องจากไม่ต้องดูเนื้อหาของไฟล์เลย

สะสม
นับการเปลี่ยนแปลงในไดเร็กทอรีย่อยสำหรับไดเร็กทอรีหลักด้วย สังเกตว่า
เมื่อใช้สะสม ผลรวมของเปอร์เซ็นต์ที่รายงานอาจเกิน 100% NS
พฤติกรรมเริ่มต้น (ไม่สะสม) สามารถระบุได้ด้วย noncumulative
พารามิเตอร์.


พารามิเตอร์จำนวนเต็มระบุเปอร์เซ็นต์การตัดออก (3% โดยค่าเริ่มต้น) ไดเรกทอรี
การมีส่วนร่วมน้อยกว่าเปอร์เซ็นต์ของการเปลี่ยนแปลงนี้จะไม่แสดงในผลลัพธ์

ตัวอย่าง: ต่อไปนี้จะนับไฟล์ที่เปลี่ยนแปลงในขณะที่ละเว้นไดเรกทอรีที่มีน้อยกว่า
มากกว่า 10% ของจำนวนไฟล์ที่เปลี่ยนแปลงทั้งหมด และสะสมจำนวนไดเร็กทอรีย่อย
ในไดเร็กทอรีหลัก: --dirstat=files,10,cumulative.

--สรุป
ส่งออกข้อมูลสรุปแบบย่อของข้อมูลส่วนหัวเพิ่มเติม เช่น การสร้าง การเปลี่ยนชื่อ
และการเปลี่ยนแปลงโหมด

--patch-กับ-stat
คำพ้องความหมายสำหรับ -p --stat

-z
เมื่อ --raw, --numstat, --name-only หรือ --name-status ได้รับแล้ว ห้ามทำการ munge
ชื่อพาธและใช้ NUL เป็นตัวยุติฟิลด์เอาต์พุต

หากไม่มีตัวเลือกนี้ เอาต์พุตชื่อพาธแต่ละรายการจะมี TAB, LF, อัญประกาศคู่ และ
อักขระแบ็กสแลชแทนที่ด้วย \t, \n, \" และ \\ ตามลำดับ และชื่อพาธ
จะถูกปิดด้วยเครื่องหมายคำพูดคู่หากมีการแทนที่เกิดขึ้น

--ชื่อเท่านั้น
แสดงเฉพาะชื่อไฟล์ที่เปลี่ยนแปลง

--ชื่อ-สถานะ
แสดงเฉพาะชื่อและสถานะของไฟล์ที่เปลี่ยนแปลง ดูคำอธิบายของ --diff-filter
ตัวเลือกเกี่ยวกับความหมายของตัวอักษรแสดงสถานะ

--submodule[= ]
ระบุว่าจะแสดงความแตกต่างในโมดูลย่อยอย่างไร เมื่อ --submodule หรือ --submodule=log
จะได้รับ เข้าสู่ระบบ มีการใช้รูปแบบ รูปแบบนี้แสดงรายการคอมมิตในช่วงเช่น คอมไพล์-
submodule(1) สรุปไม่ ละเว้นตัวเลือก --submodule หรือระบุ
--submodule=short ใช้ the Short รูปแบบ. รูปแบบนี้เพียงแค่แสดงชื่อของ
กระทำที่จุดเริ่มต้นและจุดสิ้นสุดของช่วง สามารถปรับแต่งได้ผ่าน diff.submodule
ตัวแปรการกำหนดค่า

--สี[= ]
แสดงความแตกต่างของสี --color (เช่นไม่มี =) เหมือนกับ --color=always
สามารถเป็นหนึ่งในเสมอ ไม่เคย หรืออัตโนมัติ

--ไม่มีสี
ปิดความแตกต่างของสี มันเหมือนกับ --color=never

--word-diff[= ]
แสดงคำต่างโดยใช้เครื่องหมาย เพื่อคั่นคำที่เปลี่ยนแปลง โดยค่าเริ่มต้น คำคือ
คั่นด้วยช่องว่าง; ดู --word-diff-regex ด้านล่าง NS ค่าเริ่มต้นเป็น ธรรมดา,
และต้องเป็นหนึ่งใน:

สี
เน้นคำที่เปลี่ยนแปลงโดยใช้สีเท่านั้น แปลว่า --สี

ธรรมดา
แสดงคำเป็น [-removed-] และ {+added+} ไม่มีความพยายามที่จะหลบหนี
ตัวคั่นหากปรากฏในอินพุต ดังนั้นเอาต์พุตอาจไม่ชัดเจน

เครื่องลายคราม
ใช้รูปแบบบรรทัดพิเศษที่มีไว้สำหรับการใช้สคริปต์
การวิ่งที่เพิ่ม/ลบ/ไม่เปลี่ยนแปลงจะถูกพิมพ์ในรูปแบบส่วนต่างแบบรวมปกติ
เริ่มต้นด้วยอักขระ +/-/` ` ที่ต้นบรรทัดและขยายเป็น
จุดสิ้นสุดของบรรทัด การขึ้นบรรทัดใหม่ในอินพุตจะแสดงด้วยเครื่องหมายตัวหนอน ~ บนบรรทัด
ของมันเอง.

ไม่มี
ปิดการใช้งาน word diff อีกครั้ง

โปรดทราบว่าแม้ชื่อของโหมดแรกจะใช้สีเพื่อเน้นการเปลี่ยนแปลง
ส่วนต่างๆ ในทุกโหมดหากเปิดใช้งาน

--word-diff-regex=
ใช้ เพื่อตัดสินใจว่าคำนั้นคืออะไร แทนที่จะพิจารณาถึงการรันของ non-whitespace to
เป็นคำ ยังหมายถึง --word-diff เว้นแต่จะเปิดใช้งานแล้ว

ทุกแมตช์ที่ไม่ทับซ้อนกันของ ถือเป็นคำ อะไรก็ได้ระหว่าง
การจับคู่เหล่านี้ถือเป็นช่องว่างและถูกละเว้น (!) เพื่อจุดประสงค์ในการค้นหา
ความแตกต่าง คุณอาจต้องการผนวก |[^[:space:]] ต่อท้ายนิพจน์ทั่วไปเพื่อสร้าง
ตรวจสอบให้แน่ใจว่าตรงกับอักขระที่ไม่ใช่ช่องว่างทั้งหมด การแข่งขันที่มีการขึ้นบรรทัดใหม่ is
ตัดทอนอย่างเงียบ ๆ (!) ที่บรรทัดใหม่

ตัวอย่างเช่น --word-diff-regex= จะปฏิบัติต่อตัวละครแต่ละตัวเป็นคำและ
ตามลำดับ แสดงความแตกต่างทีละอักขระ

นอกจากนี้ยังสามารถตั้งค่า regex ผ่านไดรเวอร์หรือตัวเลือกการกำหนดค่าต่าง ๆ ได้อีกด้วย โปรดดูที่
แอตทริบิวต์(1) หรือ git-config.php(1). ให้ชัดเจนแทนที่ไดรเวอร์ต่าง ๆ หรือ
การตั้งค่าคอนฟิก ไดรเวอร์ Diff แทนที่การตั้งค่าการกำหนดค่า

--สี-คำ[= ]
เทียบเท่ากับ --word-diff=color plus (หากระบุ regex)
--word-diff-regex= .

--no-เปลี่ยนชื่อ
ปิดการตรวจหาการเปลี่ยนชื่อ แม้ว่าไฟล์การกำหนดค่าจะให้ค่าดีฟอลต์เป็น do
ดวงอาทิตย์

--ตรวจสอบ
เตือนหากการเปลี่ยนแปลงทำให้เกิดข้อผิดพลาดช่องว่าง สิ่งที่ถือว่าเป็นข้อผิดพลาดช่องว่างคือ
ควบคุมโดยการกำหนดค่า core.whitespace ตามค่าเริ่มต้น ช่องว่างต่อท้าย
(รวมถึงบรรทัดที่ประกอบด้วยช่องว่างเพียงอย่างเดียว) และอักขระเว้นวรรคที่เป็น
ตามด้วยอักขระแท็บภายในเยื้องเริ่มต้นของบรรทัด are . ทันที
ถือว่าข้อผิดพลาดช่องว่าง ออกโดยสถานะไม่เป็นศูนย์หากพบปัญหา ไม่
เข้ากันได้กับ --exit-code

--ws-error-highlight=
เน้นข้อผิดพลาดช่องว่างในบรรทัดที่ระบุโดย ในสีที่กำหนดโดย
color.diff.ช่องว่าง เป็นรายการบริบทเก่า ใหม่ คั่นด้วยเครื่องหมายจุลภาค เมื่อไหร่
ไม่ได้ระบุตัวเลือกนี้ เฉพาะข้อผิดพลาดช่องว่างในบรรทัดใหม่เท่านั้นที่จะถูกเน้น เช่น
--ws-error-highlight=new,old ไฮไลต์ช่องว่างช่องว่างทั้งที่ถูกลบและเพิ่ม
เส้น ทั้งหมดสามารถใช้เป็นคำย่อสำหรับเก่า ใหม่ บริบท

--เต็มดัชนี
แทนที่จะแสดงอักขระไม่กี่ตัวแรก ให้แสดง blob . ก่อนและหลังรูปภาพแบบเต็ม
ชื่ออ็อบเจ็กต์บนบรรทัด "ดัชนี" เมื่อสร้างเอาต์พุตรูปแบบแพตช์

--ไบนารี่
นอกเหนือจาก --full-index แล้ว ให้ส่งออกไบนารี่ดิฟที่สามารถใช้กับ git-apply ได้

--ตัวย่อ[= ]
แทนที่จะแสดงชื่ออ็อบเจ็กต์ฐานสิบหก 40 ไบต์แบบเต็มในรูปแบบ diff-raw เอาต์พุต
และบรรทัดส่วนหัวแบบ diff-tree แสดงเฉพาะคำนำหน้าบางส่วนเท่านั้น สิ่งนี้ไม่ขึ้นกับ
--full-index option ด้านบน ซึ่งควบคุมรูปแบบเอาต์พุต diff-patch ไม่ใช่ค่าเริ่มต้น
สามารถระบุจำนวนหลักด้วย --abbrev= .

-NS[ ][/ ], --แบ่ง-เขียนใหม่[=[ ][/ ]]
ทำลายการเปลี่ยนแปลงเขียนใหม่ทั้งหมดเป็นคู่ของการลบและสร้าง นี้ทำหน้าที่สอง
วัตถุประสงค์:

มีผลกับการเปลี่ยนแปลงที่มีผลกับการเขียนไฟล์ใหม่ทั้งหมด ไม่ใช่เป็นชุด
ของการลบและการแทรกผสมกันด้วยไม่กี่บรรทัดที่เกิดขึ้นเพื่อให้ตรงกัน
ข้อความเป็นบริบท แต่เป็นการลบครั้งเดียวของทุกสิ่งที่เก่าตามด้วยa
การแทรกของใหม่ทั้งหมดเพียงครั้งเดียว และตัวเลข m ควบคุมด้านนี้ของ -B
ตัวเลือก (ค่าเริ่มต้น 60%) -B/70% ระบุว่าน้อยกว่า 30% ของต้นฉบับควร
ยังคงอยู่ในผลลัพธ์เพื่อให้ Git พิจารณาว่าเป็นการเขียนใหม่ทั้งหมด (กล่าวคือ
แพตช์ที่ได้จะเป็นชุดของการลบและการแทรกผสมกับบริบท
เส้น)

เมื่อใช้กับ -M ไฟล์ที่เขียนใหม่ทั้งหมดจะถือเป็นแหล่งที่มาของ a . ด้วย
เปลี่ยนชื่อ (โดยปกติ -M จะพิจารณาเฉพาะไฟล์ที่หายไปเป็นแหล่งที่มาของการเปลี่ยนชื่อ)
และหมายเลข n ควบคุมด้านนี้ของตัวเลือก -B (ค่าเริ่มต้นคือ 50%) -B20%
ระบุว่าการเปลี่ยนแปลงด้วยการเพิ่มและการลบเมื่อเทียบกับ 20% หรือมากกว่าของ
ขนาดของไฟล์มีสิทธิ์ที่จะถูกหยิบขึ้นมาเป็นแหล่งที่มาของการเปลี่ยนชื่อเป็น
ไฟล์อื่น

-NS[ ], --find-เปลี่ยนชื่อ[= ]
ตรวจจับการเปลี่ยนชื่อ หากระบุ n ไว้ จะเป็นเกณฑ์ในดัชนีความคล้ายคลึงกัน (เช่น
จำนวนการเพิ่ม/ลบเมื่อเทียบกับขนาดของไฟล์) ตัวอย่างเช่น -M90% หมายถึง
Git ควรพิจารณาคู่ลบ/เพิ่มเพื่อเปลี่ยนชื่อถ้ามากกว่า 90% ของไฟล์
ไม่ได้เปลี่ยน หากไม่มีเครื่องหมาย % ให้อ่านตัวเลขเป็นเศษส่วนด้วย a
จุดทศนิยมข้างหน้ามัน นั่นคือ -M5 กลายเป็น 0.5 และดังนั้นจึงเหมือนกับ -M50%
ในทำนองเดียวกัน -M05 ก็เหมือนกับ -M5% หากต้องการจำกัดการตรวจจับให้เปลี่ยนชื่อที่แน่นอน ให้ใช้ -M100%
ดัชนีความคล้ายคลึงเริ่มต้นคือ 50%

-ค[ ], --fin-copy[= .] ]
ตรวจจับสำเนารวมทั้งเปลี่ยนชื่อ ดูเพิ่มเติมที่ --find-copy-harder หากระบุ n ไว้ จะเป็น
มีความหมายเดียวกับ -M .

--find-copy-harder
ด้วยเหตุผลด้านประสิทธิภาพ โดยค่าเริ่มต้น ตัวเลือก -C จะค้นหาสำเนาก็ต่อเมื่อไฟล์ต้นฉบับ
ของสำเนาถูกแก้ไขในชุดการแก้ไขเดียวกัน แฟล็กนี้ทำให้คำสั่งตรวจสอบ
ไฟล์ที่ไม่ได้แก้ไขเป็นตัวเลือกสำหรับแหล่งที่มาของสำเนา ราคานี้แพงมาก
สำหรับโครงการขนาดใหญ่ ควรใช้ด้วยความระมัดระวัง ให้ตัวเลือก -C มากกว่าหนึ่งตัว
มีผลเช่นเดียวกัน

-D, --ลบกลับไม่ได้
ละเว้นพรีอิมเมจสำหรับการลบ เช่น พิมพ์เฉพาะส่วนหัวแต่อย่าแยกส่วนต่างระหว่าง
ภาพก่อนหน้าและ /dev/null. แพตช์ที่ได้ไม่ได้มีไว้สำหรับใช้กับแพตช์หรือ
ใช้คอมไพล์; นี้มีไว้สำหรับผู้ที่ต้องการเพียงแค่มีสมาธิในการทบทวน
ข้อความหลังการเปลี่ยนแปลง นอกจากนี้ ผลผลิตยังขาดข้อมูลเพียงพอสำหรับ
ใช้โปรแกรมแก้ไขดังกล่าวย้อนกลับ แม้กระทั่งด้วยตนเอง ดังนั้นชื่อของตัวเลือก

เมื่อใช้ร่วมกับ -B ให้ละเว้น preimage ในส่วนการลบของa .ด้วย
ลบ/สร้างคู่

-l
ตัวเลือก -M และ -C ต้องใช้เวลาในการประมวลผล O(n^2) โดยที่ n คือจำนวน
เป้าหมายการเปลี่ยนชื่อ/คัดลอกที่เป็นไปได้ ตัวเลือกนี้ป้องกันไม่ให้การตรวจหาการเปลี่ยนชื่อ/คัดลอกทำงาน
หากจำนวนเป้าหมายการเปลี่ยนชื่อ/คัดลอกเกินจำนวนที่ระบุ

--diff-filter=[(A|C|D|M|R|T|U|X|B)...[*]]
เลือกเฉพาะไฟล์ที่เพิ่ม (A), คัดลอก (C), ลบ (D), แก้ไข (M), เปลี่ยนชื่อ
(R) เปลี่ยนประเภท (เช่น ไฟล์ปกติ symlink โมดูลย่อย ...) (T) are
Unmerged (U) คือ Unknown (X) หรือมีการจับคู่แบบ Broken (B) ชุดค่าผสมใดก็ได้
ของอักขระตัวกรอง (รวมถึงไม่มี) สามารถใช้ได้ เมื่อเพิ่ม * (ทั้งหมดหรือไม่มี)
ในการรวมกัน เส้นทางทั้งหมดจะถูกเลือกหากมีไฟล์ที่ตรงกับ other
เกณฑ์ในการเปรียบเทียบ หากไม่มีไฟล์ที่ตรงกับเกณฑ์อื่นๆ ไม่มีอะไรเลย
จะถูกเลือก

-NS
ค้นหาความแตกต่างที่เปลี่ยนจำนวนครั้งของสตริงที่ระบุ
(เช่น การเพิ่ม/ลบ) ในไฟล์ มีไว้สำหรับการใช้งานของสคริปต์

มีประโยชน์เมื่อคุณกำลังมองหากลุ่มโค้ดที่แน่นอน (เช่น struct) และ want
เพื่อทราบประวัติของบล็อกนั้นตั้งแต่แรกเริ่ม: ใช้คุณสมบัติ
ซ้ำแล้วซ้ำเล่าเพื่อป้อนบล็อกที่น่าสนใจในพรีอิมเมจกลับเข้าไปใน -S และไปต่อ
จนกว่าคุณจะได้รับบล็อกเวอร์ชันแรก

-NS
มองหาความแตกต่างที่ข้อความแก้ไขมีบรรทัดที่เพิ่ม/ลบที่ตรงกัน .

เพื่อแสดงความแตกต่างระหว่าง -S --pickaxe-regex และ -G , พิจารณา
คอมมิทกับ diff ต่อไปนี้ในไฟล์เดียวกัน:

+ return !regexec(regexp, two->ptr, 1, ®match, 0);
...
- hit = !regexec(regexp, mf2.ptr, 1, ®match, 0);

ในขณะที่ git log -G"regexec\(regexp" จะแสดงการคอมมิตนี้ git log -S"regexec\(regexp"
--pickaxe-regex จะไม่ (เนื่องจากจำนวนครั้งของสตริงนั้นไม่ได้
เปลี่ยน).

ดู pickaxe เข้า gitdiffcore(7) สำหรับข้อมูลเพิ่มเติม

--pickaxe-ทั้งหมด
เมื่อ -S หรือ -G พบการเปลี่ยนแปลง ให้แสดงการเปลี่ยนแปลงทั้งหมดในชุดการแก้ไขนั้น ไม่ใช่เฉพาะ
ไฟล์ที่มีการเปลี่ยนแปลงใน .

--พลั่ว-regex
รักษา กำหนดให้กับ -S เป็นนิพจน์ทั่วไป POSIX ที่ขยายให้ตรงกัน

-O
ส่งออกแพตช์ตามลำดับที่ระบุใน ซึ่งมีหนึ่งเปลือกglob
รูปแบบต่อบรรทัด ซึ่งจะแทนที่ตัวแปรการกำหนดค่า diff.orderFile (ดู คอมไพล์-
การตั้งค่า(1)). หากต้องการยกเลิก diff.orderFile ให้ใช้ -O/dev/null

-R
สลับสองอินพุต; กล่าวคือแสดงความแตกต่างจากไฟล์ดัชนีหรือบนดิสก์ถึง tree
เนื้อหา

--ญาติ[= ]
เมื่อเรียกใช้จากไดเร็กทอรีย่อยของโปรเจ็กต์ สามารถบอกให้ไม่รวมการเปลี่ยนแปลงภายนอก
ไดเร็กทอรีและแสดงชื่อพาธที่สัมพันธ์กับไดเร็กทอรีด้วยตัวเลือกนี้ เมื่อคุณไม่อยู่ใน
ไดเร็กทอรีย่อย (เช่น ในที่เก็บเปล่า) คุณสามารถตั้งชื่อไดเร็กทอรีย่อยที่จะสร้าง
ผลลัพธ์สัมพันธ์กับการให้ a เป็นอาร์กิวเมนต์

-a, --ข้อความ
ปฏิบัติต่อไฟล์ทั้งหมดเป็นข้อความ

--ignore-space-at-eol
ละเว้นการเปลี่ยนแปลงในช่องว่างที่ EOL

-b, --ignore-space-change
ละเว้นการเปลี่ยนแปลงในจำนวนช่องว่าง สิ่งนี้ละเว้นช่องว่างที่ท้ายบรรทัด และ
ถือว่าลำดับอื่นๆ ทั้งหมดของอักขระช่องว่างตั้งแต่หนึ่งตัวขึ้นไปจะเทียบเท่ากัน

-w, --ignore-พื้นที่ทั้งหมด
ละเว้นช่องว่างเมื่อเปรียบเทียบเส้น สิ่งนี้ละเว้นความแตกต่างแม้ว่าบรรทัดหนึ่งจะมี
ช่องว่างที่บรรทัดอื่นไม่มี

- ละเว้นบรรทัดว่าง
ละเว้นการเปลี่ยนแปลงที่มีบรรทัดว่างทั้งหมด

--inter-hunk-บริบท=
แสดงบริบทระหว่าง diff hunks จนถึงจำนวนบรรทัดที่ระบุด้วยเหตุนี้
หลอมรวมกันเป็นก้อนที่อยู่ใกล้กัน

-W, --ฟังก์ชัน-บริบท
แสดงการทำงานรอบข้างทั้งหมดของการเปลี่ยนแปลง

--exit รหัส
ทำให้โปรแกรมออกด้วยรหัสที่คล้ายกับ diff(1). นั่นคือมันออกด้วย 1 หากมี
มีความแตกต่างและ 0 หมายถึงไม่มีความแตกต่าง

--เงียบ
ปิดการใช้งานเอาต์พุตทั้งหมดของโปรแกรม หมายถึง --exit-code

--ext-diff
อนุญาตให้ดำเนินการตัวช่วยต่างภายนอก หากคุณตั้งค่าไดรเวอร์ diff ภายนอกด้วย
แอตทริบิวต์(5) คุณต้องใช้ตัวเลือกนี้กับ คอมไพล์ล็อก(1) และผองเพื่อน

--no-ext-diff
ไม่อนุญาตไดรเวอร์ส่วนต่างภายนอก

--textconv, --no-textconv
อนุญาต (หรือไม่อนุญาต) ตัวกรองการแปลงข้อความภายนอกให้ทำงานเมื่อเปรียบเทียบไบนารี
ไฟล์. ดู แอตทริบิวต์(5) สำหรับรายละเอียด เนื่องจากตัวกรอง textconv มักจะเป็น
การแปลงทางเดียว ผลต่างที่ได้นั้นเหมาะสำหรับการบริโภคของมนุษย์ แต่ไม่สามารถทำได้
นำไปใช้ ด้วยเหตุนี้ ตัวกรอง textconv จึงเปิดใช้งานโดยค่าเริ่มต้นสำหรับ .เท่านั้น คอมไพล์-
diff(1) และ คอมไพล์ล็อก(1) แต่ไม่ใช่สำหรับ git-format-แพทช์(1) หรือคำสั่งประปาส่วนต่าง

--ละเว้น-submodules[= ]
ละเว้นการเปลี่ยนแปลงของโมดูลย่อยในการสร้างความแตกต่าง สามารถเป็นได้ทั้ง "ไม่มี"
"untracked", "dirty" หรือ "all" ซึ่งเป็นค่าเริ่มต้น การใช้ "ไม่มี" จะถือว่า
โมดูลย่อยที่แก้ไขเมื่อมีไฟล์ที่ไม่ได้ติดตามหรือแก้ไข หรือ HEAD
แตกต่างจากคอมมิตที่บันทึกไว้ในซูเปอร์โปรเจ็กต์และสามารถใช้เพื่อแทนที่ใดๆ
การตั้งค่าของ ไม่สนใจ ตัวเลือกใน git-config.php(1) หรือ gitmodules(5). เมื่อ "ไม่ถูกติดตาม" คือ
โมดูลย่อยที่ใช้แล้วจะไม่ถือว่าสกปรกเมื่อมีเฉพาะเนื้อหาที่ไม่ได้ติดตาม (แต่
พวกเขายังคงสแกนหาเนื้อหาที่แก้ไข) การใช้ "dirty" จะละเว้นการเปลี่ยนแปลงทั้งหมดของ
แผนผังงานของโมดูลย่อย เฉพาะการเปลี่ยนแปลงการคอมมิตที่เก็บไว้ใน superproject เท่านั้นคือ
แสดง (นี่คือพฤติกรรมจนถึง 1.7.0) การใช้ "ทั้งหมด" จะซ่อนการเปลี่ยนแปลงทั้งหมดไปยัง
โมดูลย่อย

--src-prefix=
แสดงคำนำหน้าแหล่งที่มาที่กำหนดแทน "a/"

--dst-คำนำหน้า=
แสดงคำนำหน้าปลายทางที่กำหนดแทน "b/"

--ไม่มีคำนำหน้า
ไม่ต้องแสดงคำนำหน้าต้นทางหรือปลายทาง

สำหรับคำอธิบายโดยละเอียดเพิ่มเติมเกี่ยวกับตัวเลือกทั่วไปเหล่านี้ โปรดดูที่ gitdiffcore(7)

-1 --ฐาน, -2 --ของเรา, -3 --ของพวกเขา, -0
แตกต่างกับเวอร์ชัน "ฐาน" "สาขาของเรา" หรือ "สาขาของพวกเขา" ตามลำดับ กับ
ตัวเลือกเหล่านี้ ส่วนต่างสำหรับรายการที่ผสานจะไม่แสดง

ค่าเริ่มต้นจะแตกต่างจากสาขาของเรา (-2) และเส้นทางที่ได้รับการแก้ไขอย่างสมบูรณ์ NS
สามารถกำหนดตัวเลือก -0 เพื่อละเว้นเอาต์พุต diff สำหรับรายการที่ยังไม่ได้รวมและเพียงแค่แสดง
"ไม่ได้ผสาน".

-ค, --ซีซี
สิ่งนี้เปรียบเทียบระยะที่ 2 (สาขาของเรา) ระยะที่ 3 (สาขาของพวกเขา) และไฟล์แผนผังการทำงาน
และให้ผลต่างที่รวมกันคล้ายกับวิธี ต่างต้นไม้ แสดงการรวมคอมมิตกับ
ธงเหล่านี้

-q
ยังคงเงียบแม้ในไฟล์ที่ไม่มีอยู่

RAW เอาท์พุท FORMAT


รูปแบบเอาต์พุตดิบจาก "git-diff-index", "git-diff-tree", "git-diff-files" และ "git
diff --raw" มีความคล้ายคลึงกันมาก

คำสั่งเหล่านี้เปรียบเทียบสิ่งของสองชุด สิ่งที่เปรียบเทียบแตกต่างกัน:

git-diff-index
เปรียบเทียบ และไฟล์ในระบบไฟล์

git-diff-index --cached
เปรียบเทียบ และดัชนี

git-diff-tree [-r] [ ...]
เปรียบเทียบต้นไม้ที่ตั้งชื่อตามอาร์กิวเมนต์ทั้งสอง

git-diff-ไฟล์ [ ...]
เปรียบเทียบดัชนีและไฟล์ในระบบไฟล์

คำสั่ง "git-diff-tree" เริ่มต้นเอาต์พุตโดยพิมพ์แฮชของสิ่งที่เป็นอยู่
เปรียบเทียบ หลังจากนั้น คำสั่งทั้งหมดจะพิมพ์บรรทัดเอาต์พุตหนึ่งบรรทัดต่อไฟล์ที่เปลี่ยนแปลง

บรรทัดเอาต์พุตถูกจัดรูปแบบดังนี้:

แก้ไขในตำแหน่ง :100644 100644 bcd1234... 0123456... M file0
คัดลอกแก้ไข :100644 100644 abcd123... 1234567... C68 file1 file2
เปลี่ยนชื่อ-แก้ไข :100644 100644 abcd123... 1234567... R86 file1 file3
สร้าง :000000 100644 0000000... 1234567... A file4
ลบ :100644 000000 1234567... 0000000... D file5
ยกเลิกการผสาน :000000 000000 0000000... 0000000... U file6

นั่นคือจากซ้ายไปขวา:

1. ลำไส้ใหญ่

2. โหมดสำหรับ "src"; 000000 หากสร้างหรือยกเลิกการรวม

3. ช่องว่าง

4. โหมดสำหรับ "dst"; 000000 ถ้าลบหรือยกเลิกการรวม

5. ช่องว่าง

6. sha1 สำหรับ "src"; 0{40} หากสร้างหรือยกเลิกการรวม

7. ช่องว่าง

8. sha1 สำหรับ "dst"; 0{40} หากสร้าง ยกเลิกการผสาน หรือ "ดูที่แผนผังงาน"

9. ช่องว่าง

10. สถานะ ตามด้วยหมายเลข "คะแนน" หรือไม่ก็ได้

11. แท็บหรือ NUL เมื่อ -z ใช้ตัวเลือก

12. เส้นทางสำหรับ "src"

13. แท็บหรือ NUL เมื่อ -z ใช้ตัวเลือก มีให้สำหรับ C หรือ R เท่านั้น

14. เส้นทางสำหรับ "dst"; มีให้สำหรับ C หรือ R เท่านั้น

15. LF หรือ NUL เมื่อ -z ใช้ตัวเลือกเพื่อยุติการบันทึก

จดหมายสถานะที่เป็นไปได้คือ:

· A: การเพิ่มไฟล์

· C: คัดลอกไฟล์ไปยังไฟล์ใหม่

· D: การลบไฟล์

· M: การแก้ไขเนื้อหาหรือโหมดของไฟล์

· R: การเปลี่ยนชื่อไฟล์

· T: เปลี่ยนประเภทของไฟล์

· U: ไฟล์ไม่ถูกผสาน (คุณต้องทำการผสานให้เสร็จสิ้นก่อนจึงจะสามารถคอมมิตได้)

· X: ประเภทการเปลี่ยนแปลง "ไม่ทราบ" (ส่วนใหญ่อาจเป็นจุดบกพร่อง โปรดรายงาน)

อักษรสถานะ C และ R ตามด้วยคะแนนเสมอ (แสดงถึงเปอร์เซ็นต์ของ
ความคล้ายคลึงกันระหว่างต้นทางและเป้าหมายของการย้ายหรือคัดลอก) สถานะตัวอักษร M อาจเป็น
ตามด้วยคะแนน (แสดงถึงเปอร์เซ็นต์ของความแตกต่าง) สำหรับการเขียนไฟล์ใหม่

จะแสดงเป็น 1 ทั้งหมดหากไฟล์ใหม่ในระบบไฟล์และไม่ซิงค์กับ
ดัชนี

ตัวอย่าง:

:100644 100644 5be4a4...... 000000...... ไฟล์ M.c

เมื่อไม่ใช้ตัวเลือก -z อักขระ TAB, LF และแบ็กสแลชในชื่อพาธจะถูกแสดง
เป็น \t, \n และ \\ ตามลำดับ

ความแตกต่าง FORMAT สำหรับ ผสาน


"git-diff-tree", "git-diff-files" และ "git-diff --raw" ได้ -c or --ซีซี ตัวเลือก
สร้างเอาต์พุต diff สำหรับการรวมคอมมิต เอาต์พุตแตกต่างจากรูปแบบที่อธิบายไว้
ข้างต้นด้วยวิธีต่อไปนี้:

1. มีเครื่องหมายทวิภาคสำหรับผู้ปกครองแต่ละคน

2. มีโหมด "src" และ "src" sha1 . เพิ่มเติม

3. สถานะเป็นอักขระสถานะต่อกันสำหรับผู้ปกครองแต่ละคน

4. ไม่มีหมายเลข "คะแนน" ให้เลือก

5. เส้นทางเดียวสำหรับ "dst" เท่านั้น

ตัวอย่าง:

::100644 100644 100644 fabadb8... cc95eb0... 4866510... MM อธิบาย.c

โปรดทราบว่า รวม diff แสดงรายการเฉพาะไฟล์ที่แก้ไขจากผู้ปกครองทั้งหมด

กำลังสร้าง แพทช์ กับ -P


เมื่อ "git-diff-index", "git-diff-tree" หรือ "git-diff-files" ถูกเรียกใช้ด้วย -p ตัวเลือก "git
ต่าง" โดยไม่มี --ดิบ ตัวเลือกหรือ "git log" กับตัวเลือก "-p" จะไม่สร้าง
ผลลัพธ์ที่ได้อธิบายไว้ข้างต้น แทนที่จะสร้างไฟล์แพตช์ คุณสามารถปรับแต่งการสร้าง
ของแพตช์ดังกล่าวผ่าน GIT_EXTERNAL_DIFF และตัวแปรสภาพแวดล้อม GIT_DIFF_OPTS

สิ่งที่อ็อพชัน -p สร้างขึ้นนั้นแตกต่างจากรูปแบบดิฟดั้งเดิมเล็กน้อย:

1. นำหน้าด้วยส่วนหัว "git diff" ที่มีลักษณะดังนี้:

ความแตกต่าง --git a/file1 b/file2.diff

ชื่อไฟล์ a/ และ b/ จะเหมือนกันเว้นแต่จะมีการเปลี่ยนชื่อ/คัดลอก โดยเฉพาะแม้แต่
สำหรับการสร้างหรือการลบ /dev/null is ไม่ ใช้แทน a/ หรือ b/
ชื่อไฟล์

เมื่อเกี่ยวข้องกับการเปลี่ยนชื่อ/คัดลอก file1 และ file2 จะแสดงชื่อของไฟล์ต้นฉบับของ
เปลี่ยนชื่อ/คัดลอกและชื่อของไฟล์ที่สร้างการเปลี่ยนชื่อ/คัดลอกตามลำดับ

2. ตามด้วยบรรทัดส่วนหัวที่ขยายอย่างน้อยหนึ่งบรรทัด:

โหมดเก่า
โหมดใหม่
โหมดไฟล์ที่ถูกลบ
โหมดไฟล์ใหม่
คัดลอกจาก
คัดลอกไปที่
เปลี่ยนชื่อจาก
เปลี่ยนชื่อเป็น
ดัชนีความคล้ายคลึงกัน
ดัชนีความแตกต่าง
ดัชนี ..

โหมดไฟล์จะพิมพ์เป็นเลขฐานแปด 6 หลัก รวมทั้งประเภทไฟล์และไฟล์
บิตการอนุญาต

ชื่อพาธในส่วนหัวแบบขยายจะไม่รวมส่วนนำหน้า a/ และ b/

ดัชนีความคล้ายคลึงกันคือเปอร์เซ็นต์ของเส้นที่ไม่เปลี่ยนแปลง และดัชนีความต่างกัน
คือเปอร์เซ็นต์ของเส้นที่เปลี่ยนแปลง เป็นจำนวนเต็มที่ปัดเศษลง ตามด้วย a
เครื่องหมายเปอร์เซ็นต์ ค่าดัชนีความคล้ายคลึงกัน 100% จึงสงวนไว้สำหรับไฟล์สองไฟล์ที่เท่ากัน
ในขณะที่ความแตกต่าง 100% หมายความว่าไม่มีบรรทัดจากไฟล์เก่าทำให้มันเป็นไฟล์ใหม่
หนึ่ง.

บรรทัดดัชนีรวมการตรวจสอบ SHA-1 ก่อนและหลังการเปลี่ยนแปลง NS เป็น
รวมไว้หากโหมดไฟล์ไม่เปลี่ยนแปลง มิฉะนั้น แยกบรรทัดระบุเก่า
และโหมดใหม่

3. TAB, LF, อัญประกาศคู่ และอักขระแบ็กสแลชในชื่อพาธจะแสดงเป็น \t, \n,
\" และ \\ ตามลำดับ หากจำเป็นต้องเปลี่ยนตัวทั้งหมด
ชื่อพาธถูกใส่ในเครื่องหมายคำพูดคู่

4. ไฟล์ file1 ทั้งหมดในเอาต์พุตอ้างอิงถึงไฟล์ก่อนการคอมมิต และไฟล์ทั้งหมด2
ไฟล์อ้างถึงไฟล์หลังจากการคอมมิต ไม่ถูกต้องที่จะใช้การเปลี่ยนแปลงแต่ละครั้งกับแต่ละรายการ
ไฟล์ตามลำดับ ตัวอย่างเช่น แพทช์นี้จะสลับ a และ b:

diff --git a/ab/b
เปลี่ยนชื่อจาก a
เปลี่ยนชื่อเป็นb
diff --git a/bb/a
เปลี่ยนชื่อจาก b
เปลี่ยนชื่อเป็น

รวม ความแตกต่าง FORMAT


คำสั่งสร้างความแตกต่างสามารถใช้ตัวเลือก -c หรือ --cc เพื่อสร้างa รวม diff เมื่อ
แสดงการรวม นี่เป็นรูปแบบเริ่มต้นเมื่อแสดงการผสานกับ git-diff(1) หรือ คอมไพล์-
โชว์(1). โปรดทราบว่าคุณสามารถให้ตัวเลือก -m กับคำสั่งเหล่านี้เพื่อบังคับ
รุ่นของความแตกต่างกับผู้ปกครองแต่ละคนของการควบรวมกิจการ

A รวม diff รูปแบบมีลักษณะดังนี้:

diff --combined อธิบาย.c
ดัชนี fabadb8,cc95eb0..4866510
--- a/describe.ค
+++ ข/describe.c
@@@ -98,20 -98,12 +98,20 @@@
กลับ (a_date > b_date) ? -1 : (a_date == b_date) ? 0 : 1;
}

- อธิบายโมฆะคงที่ (ถ่าน * หาเรื่อง)
-static โมฆะอธิบาย(struct commit *cmit, int last_one)
++โมฆะแบบคงที่อธิบาย (อักขระ * arg, int last_one)
{
+ ถ่านที่ไม่ได้ลงนาม sha1[20];
+ struct กระทำ * cmit;
struct commit_list * รายการ;
สแตติก int เริ่มต้น = 0;
โครงสร้าง commit_name *n;

+ ถ้า (get_sha1(หาเรื่อง sha1) < 0)
+ การใช้งาน (describe_usage);
+ cmit = lookup_commit_reference(sha1);
+ ถ้า (!cmit)
+ การใช้งาน (describe_usage);
+
ถ้า (!เริ่มต้น) {
เริ่มต้น = 1;
for_each_ref (get_name);

1. นำหน้าด้วยส่วนหัว "git diff" ซึ่งมีลักษณะดังนี้ (เมื่อ -c ตัวเลือกที่
ใช้แล้ว):

diff -- รวมไฟล์

หรือแบบนี้ (เมื่อ --ซีซี ใช้ตัวเลือก):

diff --cc ไฟล์

2. ตามด้วยบรรทัดส่วนหัวที่ขยายอย่างน้อยหนึ่งบรรทัด (ตัวอย่างนี้แสดงการผสานกับ
พ่อแม่สองคน):

ดัชนี , ..
โหมด , ..
โหมดไฟล์ใหม่
โหมดไฟล์ที่ถูกลบ ,

โหมด , .. บรรทัดปรากฏขึ้นก็ต่อเมื่ออย่างน้อยหนึ่ง เป็น
แตกต่างจากที่เหลือ ส่วนหัวขยายพร้อมข้อมูลเกี่ยวกับเนื้อหาที่ตรวจพบ
การเคลื่อนไหว (การเปลี่ยนชื่อและการตรวจจับการคัดลอก) ได้รับการออกแบบให้ทำงานกับส่วนต่างของสอง
และไม่ได้ใช้โดยรูปแบบ diff ที่รวมกัน

3. ตามด้วยส่วนหัว from-file/to-file สองบรรทัด

--- ไฟล์
+++ b/ไฟล์

คล้ายกับส่วนหัวสองบรรทัดสำหรับแบบดั้งเดิม ปึกแผ่น รูปแบบ diff /dev/null ใช้เพื่อ
สัญญาณที่สร้างหรือลบไฟล์

4. รูปแบบส่วนหัวของ Chunk ถูกแก้ไขเพื่อป้องกันไม่ให้ผู้คนป้อนมันโดยไม่ได้ตั้งใจ
แพทช์ -p1 รูปแบบ diff แบบรวมถูกสร้างขึ้นเพื่อตรวจทานการเปลี่ยนแปลงการคอมมิตการผสานและ
ไม่ได้มีไว้สำหรับการสมัคร การเปลี่ยนแปลงจะคล้ายกับการเปลี่ยนแปลงในส่วนขยาย ดัชนี
หัวข้อ:

@@@ @@@

มี (จำนวนผู้ปกครอง + 1) @ อักขระในส่วนหัวของกลุ่มสำหรับ diff . ที่รวมกัน
จัดรูปแบบ

ไม่เหมือนแบบดั้งเดิม ปึกแผ่น รูปแบบ diff ซึ่งแสดงสองไฟล์ A และ B ด้วยไฟล์เดียว
คอลัมน์ที่มี - (ลบ — ปรากฏใน A แต่ลบใน B), + (บวก — หายไปใน A แต่
เพิ่มใน B) หรือ " " (ช่องว่าง — ไม่เปลี่ยนแปลง) คำนำหน้า รูปแบบนี้เปรียบเทียบไฟล์ตั้งแต่สองไฟล์ขึ้นไป
file1, file2,... ด้วยไฟล์เดียว X และแสดงให้เห็นว่า X แตกต่างจากแต่ละไฟล์อย่างไรN หนึ่งคอลัมน์
สำหรับแต่ละ fileN ถูกนำหน้าไปยังบรรทัดเอาต์พุตเพื่อสังเกตว่าบรรทัดของ X นั้นแตกต่างจาก
มัน

A - อักขระในคอลัมน์ N หมายความว่าบรรทัดปรากฏใน fileN แต่ไม่ปรากฏ
ในผลลัพธ์ อักขระ A + ในคอลัมน์ N หมายความว่าบรรทัดปรากฏในผลลัพธ์
และ fileN ไม่มีบรรทัดนั้น (กล่าวคือเพิ่มบรรทัดจากจุด
มุมมองของผู้ปกครองคนนั้น)

ในผลลัพธ์ตัวอย่างด้านบน ฟังก์ชันลายเซ็นถูกเปลี่ยนจากทั้งสองไฟล์ (ด้วยเหตุนี้ two
- การลบออกจากทั้ง file1 และ file2 บวก ++ หมายถึงหนึ่งบรรทัดที่เพิ่มไม่ได้
ปรากฏใน file1 หรือ file2) อีกแปดบรรทัดเหมือนกันจาก file1 แต่ do
ไม่ปรากฏใน file2 (จึงนำหน้าด้วย +)

เมื่อแสดงโดย git diff-tree -c จะเปรียบเทียบพาเรนต์ของการผสานที่คอมมิตกับการผสาน
ผลลัพธ์ (เช่น file1..fileN เป็นพาเรนต์) เมื่อแสดงโดย git diff-files -c จะเปรียบเทียบ
การรวมพาเรนต์ที่ไม่ได้รับการแก้ไขสองคนกับไฟล์แผนผังการทำงาน (เช่น file1 คือสเตจ 2 หรือที่รู้จักว่า
"เวอร์ชันของเรา", file2 คือสเตจ 3 หรือที่เรียกว่า "เวอร์ชันของพวกเขา")

อื่น ๆ ความแตกต่าง รูปแบบ


ตัวเลือก --summary อธิบายไฟล์ที่เพิ่งเพิ่ม ลบ เปลี่ยนชื่อ และคัดลอก The --stat
ตัวเลือกเพิ่ม ความแตกต่าง(1) กราฟผลลัพธ์ ตัวเลือกเหล่านี้สามารถใช้ร่วมกับตัวเลือกอื่นๆ ได้
ตัวเลือก เช่น -p และมีไว้สำหรับการบริโภคของมนุษย์

เมื่อแสดงการเปลี่ยนแปลงที่เกี่ยวข้องกับการเปลี่ยนชื่อหรือสำเนา --stat เอาต์พุตจะจัดรูปแบบ
ชื่อพาธอย่างย่อโดยการรวมคำนำหน้าทั่วไปและส่วนต่อท้ายของชื่อพาธเข้าด้วยกัน ตัวอย่างเช่น
การเปลี่ยนแปลงที่ย้าย arch/i386/Makefile เป็น arch/x86/Makefile ขณะที่แก้ไข 4 บรรทัดจะเป็น
แสดงเช่นนี้:

arch/{i386 => x86}/Makefile | 4 +--

ตัวเลือก --numstat ให้ ความแตกต่าง(1) ข้อมูลแต่ได้รับการออกแบบสำหรับเครื่องที่ง่ายกว่า
การบริโภค. รายการใน --numstat เอาต์พุตมีลักษณะดังนี้:

1 2 อ่านฉัน
3 1 arch/{i386 => x86}/Makefile

นั่นคือจากซ้ายไปขวา:

1. จำนวนบรรทัดที่เพิ่ม

2. แท็บ;

3. จำนวนบรรทัดที่ถูกลบ

4. แท็บ;

5. ชื่อพาธ (อาจมีการเปลี่ยนชื่อ/คัดลอกข้อมูล)

6. ขึ้นบรรทัดใหม่

เมื่อตัวเลือกเอาต์พุต -z มีผล เอาต์พุตจะถูกจัดรูปแบบดังนี้:

1 2 README NUL
3 1 ซุ้ม NUL/i386/Makefile NUL ซุ้มประตู/x86/Makefile NUL

นั่นคือ:

1. จำนวนบรรทัดที่เพิ่ม

2. แท็บ;

3. จำนวนบรรทัดที่ถูกลบ

4. แท็บ;

5. NUL (จะมีได้เฉพาะเมื่อมีการเปลี่ยนชื่อ/คัดลอก)

6. ชื่อพาธในพรีอิมเมจ;

7. NUL (จะมีได้เฉพาะเมื่อมีการเปลี่ยนชื่อ/คัดลอก)

8. ชื่อพาธใน postimage (มีต่อเมื่อเปลี่ยนชื่อ/คัดลอก)

9. เป็นโมฆะ

NUL พิเศษก่อนพาธพรีอิมเมจในกรณีที่เปลี่ยนชื่อคืออนุญาตให้สคริปต์ที่อ่าน
เอาต์พุตเพื่อบอกว่าบันทึกปัจจุบันที่กำลังอ่านเป็นบันทึกเส้นทางเดียวหรือเปลี่ยนชื่อ/คัดลอก
บันทึกโดยไม่ต้องอ่านล่วงหน้า หลังจากอ่านบรรทัดที่เพิ่มและลบแล้ว ให้อ่านถึง NUL
จะให้ชื่อพาธ แต่ถ้าเป็น NUL เร็กคอร์ดจะแสดงสองพาธ

GIT


เป็นส่วนหนึ่งของ คอมไพล์(1) ห้องชุด

ใช้ไฟล์ git-diff ออนไลน์โดยใช้บริการ onworks.net


เซิร์ฟเวอร์และเวิร์กสเตชันฟรี

ดาวน์โหลดแอพ Windows & Linux

คำสั่ง Linux

Ad