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

Ad


ไอคอน Fav ของ OnWorks

git-diff-tree - ออนไลน์ในคลาวด์

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

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

โครงการ:

ชื่อ


git-diff-tree - เปรียบเทียบเนื้อหาและโหมดของ blobs ที่พบในวัตถุต้นไม้สองอัน

เรื่องย่อ


คอมไพล์ ต่างต้นไม้ [--stdin] [-m] [-s] [-v] [--no-commit-id] [--สวย]
[-t] [-r] [-c | --cc] [--root] [ ]
[ ] [ ...]

DESCRIPTION


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

ถ้ามีเพียงหนึ่งเดียว ให้เปรียบเทียบภาระผูกพันกับผู้ปกครอง (ดู
--stdin ด้านล่าง).

โปรดทราบว่า คอมไพล์ ต่างต้นไม้ สามารถใช้ต้นไม้ที่ห่อหุ้มในวัตถุที่กระทำได้

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)


รหัสของวัตถุต้นไม้

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

-r
กลับกลายเป็นต้นไม้ย่อย

-t
แสดงรายการต้นไม้เองเช่นเดียวกับต้นไม้ย่อย หมายถึง -r

--ราก
เมื่อ --ราก ระบุการคอมมิตเริ่มต้นจะแสดงเป็นเหตุการณ์การสร้างขนาดใหญ่
ซึ่งเทียบเท่ากับความแตกต่างกับทรี NULL

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

เมื่อให้ต้นไม้สองต้น มันจะเปรียบเทียบต้นไม้ต้นแรกกับต้นที่สอง เมื่อคนโสด
คอมมิชชันได้รับมันเปรียบเทียบการคอมมิตกับผู้ปกครอง ภาระผูกพันที่เหลือเมื่อ
ให้ ใช้ราวกับว่าพวกเขาเป็นผู้ปกครองของการคอมมิทครั้งแรก

เมื่อเปรียบเทียบต้นไม้สองต้น ID ของต้นไม้ทั้งสอง (คั่นด้วยช่องว่างและสิ้นสุดด้วย
ขึ้นบรรทัดใหม่) จะถูกพิมพ์ก่อนส่วนต่าง เมื่อเปรียบเทียบคอมมิต ID ของ
พิมพ์ครั้งแรก (หรือเท่านั้น) ตามด้วยขึ้นบรรทัดใหม่

แฟล็กต่อไปนี้ส่งผลต่อพฤติกรรมเมื่อเปรียบเทียบการคอมมิต (แต่ไม่ใช่
ต้นไม้)

-m
โดยค่าเริ่มต้น คอมไพล์ ต่างต้นไม้ -stdin ไม่แสดงความแตกต่างสำหรับการคอมมิตการรวม กับ
แฟล็กนี้ มันแสดงให้เห็นความแตกต่างของคอมมิชชันจากพาเรนต์ทั้งหมด ดูสิ่งนี้ด้วย -c.

-s
โดยค่าเริ่มต้น คอมไพล์ ต่างต้นไม้ -stdin แสดงความแตกต่างทั้งในรูปแบบที่เครื่องอ่านได้
(โดยไม่ต้อง -p) หรือในรูปแบบแพทช์ (ด้วย -p). เอาต์พุตนี้สามารถระงับได้ มันก็เป็นเพียง
มีประโยชน์กับ -v ธง.

-v
แฟล็กนี้ทำให้เกิด คอมไพล์ ต่างต้นไม้ -stdin เพื่อแสดงข้อความยืนยันต่อหน้า
ความแตกต่าง

--สวย[= ], --format=
สวยพิมพ์เนื้อหาของบันทึกการคอมมิตในรูปแบบที่กำหนดโดยที่ เป็นไปได้
หนึ่งใน ไลน์, Short , กลาง, เต็ม, ฟูลเลอร์, อีเมล, ดิบ, รูปแบบ: และ
รูปแบบ:. เมื่อ ไม่มีข้อใดกล่าวข้างต้น และมี %ตัวยึดตำแหน่ง ในนั้นมัน
ทำตัวเหมือน --สวย=tรูปแบบ: ได้รับ.

ดูส่วน "รูปแบบที่สวยงาม" สำหรับรายละเอียดเพิ่มเติมสำหรับแต่ละรูปแบบ เมื่อไหร่
= ส่วนหนึ่งถูกละไว้ ค่าเริ่มต้นคือ กลาง.

หมายเหตุ: คุณสามารถระบุรูปแบบเริ่มต้นที่สวยงามในการกำหนดค่าที่เก็บได้ (ดู
git-config.php(พ.ศ. 1)).

--abbrev-กระทำ
แทนที่จะแสดงชื่ออ็อบเจ็กต์การคอมมิตเลขฐานสิบหกเต็ม 40 ไบต์ ให้แสดงเฉพาะ a
คำนำหน้าบางส่วน สามารถระบุจำนวนหลักที่ไม่ใช่ค่าเริ่มต้นด้วย "--abbrev= "
(ซึ่งแก้ไขเอาต์พุตต่างหากแสดง)

สิ่งนี้ควรทำให้ "--pretty=oneline" อ่านง่ายขึ้นสำหรับผู้ที่ใช้
ขั้วต่อ 80 คอลัมน์

--no-abbrev-commit
แสดงชื่ออ็อบเจ็กต์การคอมมิตเลขฐานสิบหก 40 ไบต์แบบเต็ม สิ่งนี้ปฏิเสธ --abbrev-commit และ
ตัวเลือกเหล่านั้นที่บ่งบอกถึงเช่น "--oneline" นอกจากนี้ยังแทนที่
log.abbrevCommit ตัวแปร

--ออนไลน์
นี่คือชวเลขสำหรับ "--pretty=oneline --abbrev-commit" ใช้ร่วมกัน

--การเข้ารหัส=
วัตถุส่งบันทึกการเข้ารหัสที่ใช้สำหรับข้อความบันทึกในการเข้ารหัส
หัวข้อ; ตัวเลือกนี้สามารถใช้เพื่อบอกให้คำสั่งเข้ารหัสข้อความบันทึกการคอมมิตใหม่
ในการเข้ารหัสที่ต้องการโดยผู้ใช้ สำหรับคำสั่งที่ไม่ใช่ท่อประปา ค่าเริ่มต้นนี้จะ
UTF-8 โปรดทราบว่าหากวัตถุอ้างว่าเข้ารหัสใน X และเรากำลังส่งออกเป็น X เรา
จะส่งออกคำต่อคำของวัตถุ นี่หมายความว่าลำดับที่ไม่ถูกต้องในต้นฉบับ
คอมมิทอาจถูกคัดลอกไปยังเอาต์พุต

--หมายเหตุ[= ]
แสดงหมายเหตุ (ดู คอมไพล์โน้ต(1)) ที่ใส่หมายเหตุประกอบการคอมมิตเมื่อแสดงการคอมมิต
ข้อความบันทึก นี่เป็นค่าเริ่มต้นสำหรับ git log, git show และ git whatchanged commands
เมื่อไม่มี --pretty, --format หรือ --oneline ตัวเลือกที่กำหนดในบรรทัดคำสั่ง

โดยค่าเริ่มต้น บันทึกย่อที่แสดงมาจากการอ้างอิงบันทึกย่อที่ระบุไว้ใน core.notesอ้างอิง และ
note.displayRef ตัวแปร (หรือการแทนที่สภาพแวดล้อมที่เกี่ยวข้อง) ดู git-config.php(1)
.

ด้วยตัวเลือก อาร์กิวเมนต์ แสดงบันทึกย่อนี้อ้างอิงแทนบันทึกย่อเริ่มต้น
ผู้อ้างอิง ผู้อ้างอิงจะระบุชื่อผู้อ้างอิงแบบเต็มเมื่อขึ้นต้นด้วย refs/notes/; เมื่อไหร่
ขึ้นต้นด้วย note/, refs/ และ refs/notes/ นำหน้าเพื่อสร้างชื่อเต็มของ
อ้างอิง

สามารถรวม --notes ได้หลายตัวเลือกเพื่อควบคุมว่าจะให้แสดงโน้ตใด
ตัวอย่าง: "--notes=foo" จะแสดงเฉพาะบันทึกจาก "refs/notes/foo"; "--notes=foo
--notes" จะแสดงทั้งบันทึกจาก "refs/notes/foo" และจากผู้อ้างอิงบันทึกเริ่มต้น

--no-หมายเหตุ
ไม่แสดงหมายเหตุ สิ่งนี้จะลบล้างตัวเลือก --notes ด้านบน โดยการรีเซ็ตรายการของ
บันทึกย่ออ้างอิงจากที่จะแสดงบันทึกย่อ ตัวเลือกจะถูกแยกวิเคราะห์ตามลำดับที่กำหนดใน
บรรทัดคำสั่ง เช่น "--notes --notes=foo --no-notes --notes=bar" จะแสดงเท่านั้น
บันทึกย่อจาก "refs/notes/bar"

--show-หมายเหตุ[= ], --[ไม่-]หมายเหตุมาตรฐาน
ตัวเลือกเหล่านี้เลิกใช้แล้ว ใช้ตัวเลือก --notes/--no-notes ด้านบนแทน

--แสดง-ลายเซ็น
ตรวจสอบความถูกต้องของวัตถุที่ลงนามโดยส่งลายเซ็นไปที่ gpg --verify
และแสดงผลออกมา

--no-commit-id
คอมไพล์ ต่างต้นไม้ ส่งออกบรรทัดที่มีรหัสยืนยันเมื่อมี ธงนี้ถูกระงับ
เอาต์พุตรหัสการคอมมิท

-c
แฟล็กนี้เปลี่ยนวิธีการแสดงการผสาน (ซึ่งหมายความว่ามีประโยชน์เท่านั้น
เมื่อได้รับคำสั่ง , หรือ -stdin). แสดงให้เห็นความแตกต่างจาก
ผู้ปกครองแต่ละคนจะรวมผลควบคู่กันแทนการแสดงคู่
ความแตกต่างระหว่างผู้ปกครองและผลลัพธ์ทีละครั้ง (ซึ่งเป็นสิ่งที่ -m ตัวเลือกไม่)
นอกจากนี้ยังแสดงเฉพาะไฟล์ที่แก้ไขจากผู้ปกครองทั้งหมด

--ซีซี
แฟล็กนี้เปลี่ยนวิธีการแสดงแพตช์การผสาน ในลักษณะเดียวกันกับ
-c ตัวเลือก. แปลว่า -c และ -p ตัวเลือกและบีบอัดเอาต์พุตแพตช์เพิ่มเติมโดย
ละเว้น hunks ที่ไม่น่าสนใจซึ่งเนื้อหาในผู้ปกครองมีเพียงสองตัวแปร
และผลการรวมจะเลือกรายการใดรายการหนึ่งโดยไม่มีการแก้ไข เมื่อ hunks ทั้งหมดเป็น
ไม่น่าสนใจ คอมมิตเองและข้อความบันทึกการคอมมิตไม่แสดงเหมือนใน
กรณี "ความแตกต่างที่ว่างเปล่า" อื่น ๆ

--เสมอ
แสดงการคอมมิตตัวเองและข้อความบันทึกการคอมมิต แม้ว่าตัวดิฟจะว่างเปล่าก็ตาม

น่ารัก รูปแบบ


หากการคอมมิตเป็นการผสาน และหากรูปแบบพริตตี้ไม่ใช่ ไลน์, อีเมล or ดิบ,
แทรกบรรทัดเพิ่มเติมก่อน เขียนโดย: ไลน์. บรรทัดนี้ขึ้นต้นด้วย "ผสาน: " และ
sha1s ของการกระทำของบรรพบุรุษถูกพิมพ์โดยคั่นด้วยช่องว่าง โปรดทราบว่ารายการ
การกระทำอาจไม่จำเป็นต้องเป็นรายการของ โดยตรง ผู้ปกครองยอมรับหากคุณมีข้อ จำกัด
มุมมองประวัติศาสตร์ของคุณ: ตัวอย่างเช่น หากคุณสนใจเฉพาะการเปลี่ยนแปลงที่เกี่ยวข้องกับa
ไดเร็กทอรีหรือไฟล์บางอย่าง

มีรูปแบบในตัวหลายรูปแบบ และคุณสามารถกำหนดรูปแบบเพิ่มเติมได้โดยการตั้งค่า a
สวย. ตัวเลือก config เป็นชื่อรูปแบบอื่นหรือa รูปแบบ: สตริง as
อธิบายไว้ด้านล่าง (ดู git-config.php(1)). นี่คือรายละเอียดของรูปแบบในตัว:

· ไลน์



ซึ่งได้รับการออกแบบให้มีขนาดกะทัดรัดที่สุด

· Short

ให้สัญญา
ผู้เขียน:



· กลาง

ให้สัญญา
ผู้เขียน:
วันที่:





· เต็ม

ให้สัญญา
ผู้เขียน:
ให้สัญญา:





· ฟูลเลอร์

ให้สัญญา
ผู้เขียน:
ผู้เขียนวันที่:
ให้สัญญา:
วันที่กระทำ:





· อีเมล

จาก
จาก:
วันที่:
เรื่อง: [แพทช์]



· ดิบ

พื้นที่ ดิบ รูปแบบจะแสดงการคอมมิตทั้งหมดเหมือนกับที่จัดเก็บไว้ในอ็อบเจกต์การคอมมิต
โดยเฉพาะอย่างยิ่ง SHA-1 จะแสดงอย่างครบถ้วน ไม่ว่า --abbrev หรือ
--ไม่ใช้ตัวย่อและ พ่อแม่ ข้อมูลแสดงการกระทำของผู้ปกครองที่แท้จริงโดยไม่ต้อง
โดยคำนึงถึงการปลูกถ่ายอวัยวะหรือการทำให้ประวัติศาสตร์ง่ายขึ้น โปรดทราบว่ารูปแบบนี้มีผลกับ
วิธีแสดงการกระทำ แต่ไม่ใช่วิธีแสดงความแตกต่างเช่นด้วย git log
--ดิบ. ในการรับชื่ออ็อบเจ็กต์แบบเต็มในรูปแบบ raw diff ให้ใช้ --no-abbrev

· รูปแบบ:

พื้นที่ รูปแบบ: รูปแบบช่วยให้คุณสามารถระบุข้อมูลที่คุณต้องการแสดง
มันทำงานเหมือนรูปแบบ printf เล็กน้อย ยกเว้นที่คุณได้รับ a
ขึ้นบรรทัดใหม่กับ %n แทน \n.

เช่น, รูปแบบ:"The ผู้เขียน of %h คือ %NS, %ar%nThe ชื่อเรื่อง คือ >>%s<<%n" จะแสดง
บางอย่างเช่นนี้:

ผู้เขียน fe6e0ee คือ Junio ​​C Hamano 23 ชั่วโมงที่แล้ว
ชื่อเรื่อง >>t4119: ทดสอบคอมพิวเตอร์อัตโนมัติ -p สำหรับอินพุตดิฟดั้งเดิม<

ตัวยึดตำแหน่งคือ:

· %H: คอมมิต hash

· %h: ตัวย่อคอมมิชชัน hash

· %T: แฮชต้นไม้

· %t: อักษรย่อ แฮชต้นไม้

· %P: แฮชของผู้ปกครอง

· %p: แฮชพาเรนต์ตัวย่อ

· %NS: ชื่อผู้แต่ง

· %NS: ชื่อผู้แต่ง (ตาม .mailmap โปรดดูที่ git-shortlog(1) หรือ git-โทษ(ฮิต))

· %แอ: อีเมลผู้เขียน

· %เอ: อีเมลผู้เขียน (เกี่ยวกับ .mailmap โปรดดูที่ git-shortlog(1) หรือ git-โทษ(ฮิต))

· %โฆษณา: วันที่เขียน (รูปแบบเคารพ --date= ตัวเลือก)

· %โฆษณา: วันที่เขียน RFC2822 style

· %เท่: วันที่เขียน, ญาติ

· %ที่: วันที่เขียน, การประทับเวลา UNIX

· %AI: วันที่เขียน, รูปแบบเหมือน ISO 8601

· %AI: วันที่เขียน, รูปแบบ ISO 8601 ที่เข้มงวด

· %ค: ชื่อผู้มอบอำนาจ

· %cN: ชื่อผู้ส่ง (ตาม .mailmap โปรดดูที่ git-shortlog(1) หรือ git-โทษ(ฮิต))

· %ซีอี: อีเมลผู้มอบอำนาจ

· %ซีอี: อีเมลผู้ส่ง (เกี่ยวกับ .mailmap โปรดดูที่ git-shortlog(1) หรือ git-โทษ(ฮิต))

· %ซีดี: วันที่ผู้มอบ (รูปแบบเคารพ --date= ตัวเลือก)

· %ซีดี: วันที่คอมมิชชัน, RFC2822 style

· %cr: วันที่มอบอำนาจญาติ

· % กะรัต: วันที่คอมมิต, การประทับเวลา UNIX

· %ci: วันที่คอมมิต, รูปแบบเหมือน ISO 8601

· %ซีไอ: วันที่คอมมิต, รูปแบบ ISO 8601 ที่เข้มงวด

· %d: ชื่อผู้อ้างอิง เช่น --decorate ตัวเลือกของ คอมไพล์ล็อก(1)

· %D: ชื่อผู้อ้างอิงที่ไม่มีการตัดคำ " (", ")"

· %e: การเข้ารหัส

· %s: เรื่อง

· %f: หัวเรื่องที่ถูกสุขอนามัย เหมาะสำหรับชื่อไฟล์

· %b: ร่างกาย

· %B: ตัวแบบดิบ (ตัวแบบและตัวแบบแกะ)

· %N: คอมมิตโน๊ต

· %จีจี: ข้อความยืนยันดิบจาก GPG สำหรับคอมมิตที่ลงนาม

· %NS?: แสดง "G" สำหรับลายเซ็นดี "B" สำหรับลายเซ็นแย่ "U" สำหรับดี
ลายเซ็นที่ไม่น่าเชื่อถือและ "N" สำหรับไม่มีลายเซ็น

· %จีเอส: แสดงชื่อผู้ลงนามในสัญญาที่ลงนามแล้ว

· %จีเค: แสดงคีย์ที่ใช้ลงนามคอมมิต

· %จีดี: ตัวเลือก reflog เช่น refs/stash@{1}

· %จีดี: ตัวเลือก reflog ที่สั้นลง เช่น stash@{1}

· %GN: reflog ชื่อตัวตน

· %จีเอ็น: reflog ชื่อประจำตัว (เกี่ยวกับ .mailmap, ดู git-shortlog(1) หรือ คอมไพล์-
ตำหนิ(ฮิต))

· %ge: reflog อีเมลระบุตัวตน

· %จีอี: อีเมลระบุตัวตน reflog (เกี่ยวกับ .mailmap โปรดดูที่ git-shortlog(1) หรือ คอมไพล์-
ตำหนิ(ฮิต))

· %g: reflog เรื่อง

· %เครดิต: เปลี่ยนสีเป็นสีแดง

· %ซีกรีน: เปลี่ยนสีเป็นสีเขียว

· %ซีบลู: เปลี่ยนสีเป็นสีน้ำเงิน

· % Creset: รีเซ็ตสี

· %ค(...): ข้อกำหนดสี ตามที่อธิบายไว้ใน color.branch.* ตัวเลือกการกำหนดค่า; เพิ่ม
อัตโนมัติ ที่จุดเริ่มต้นจะปล่อยสีเมื่อเปิดใช้งานสีสำหรับบันทึกเอาต์พุตเท่านั้น
(ตาม color.diff, color.ui หรือ --color และคำนึงถึงการตั้งค่าอัตโนมัติของ
เดิมถ้าเรากำลังจะไปเทอร์มินัล) อัตโนมัติเพียงอย่างเดียว (เช่น %C(อัตโนมัติ)) จะเปิดขึ้น
ระบายสีอัตโนมัติในตัวยึดตำแหน่งถัดไปจนกระทั่งเปลี่ยนสีอีกครั้ง

· %m: ซ้าย ขวา หรือ เครื่องหมายเขต

· %n: ขึ้นบรรทัดใหม่

· %%: ดิบ %

· %x00: พิมพ์ไบต์จากรหัสฐานสิบหก

· %w([ [, [, ]]]): สลับการตัดบรรทัด เช่น -w ตัวเลือกของ คอมไพล์-
บันทึกย่อ(1)

· %<( [,trunc|lrunc|mtrunc]): ทำให้ตัวยึดตำแหน่งถัดไปมีอย่างน้อย N คอลัมน์
ช่องว่างภายในด้านขวาหากจำเป็น ตัดทอนที่จุดเริ่มต้น
(ltrunc) ตรงกลาง (mtrunc) หรือปลาย (trunc) หากเอาต์พุตยาวกว่า N
คอลัมน์ โปรดทราบว่าการตัดทอนทำงานอย่างถูกต้องกับ N >= 2 เท่านั้น

· %<|( ): ทำให้ตัวยึดตำแหน่งถัดไปใช้เวลาอย่างน้อยจนถึงคอลัมน์ Nth, padding
ช่องว่างด้านขวาถ้าจำเป็น

· %>( ), %>|( ): คล้ายกับ %<( ), %<|( ) ตามลำดับ แต่ช่องว่างภายใน
ด้านซ้าย

· %>>( ), %>>|( ): คล้ายกับ %>( ), %>|( ) ตามลำดับ เว้นแต่ว่าหาก
ตัวยึดตำแหน่งถัดไปใช้พื้นที่มากกว่าที่กำหนดและมีช่องว่างทางด้านซ้าย
ใช้ช่องว่างเหล่านั้น

· %><( ), %><|( ): คล้ายกับ % <( ), %<|( ) ตามลำดับ แต่เติมทั้งสองอย่าง
ด้าน (เช่นข้อความอยู่กึ่งกลาง)

หมายเหตุ
ตัวยึดตำแหน่งบางตัวอาจขึ้นอยู่กับตัวเลือกอื่นๆ ที่กำหนดให้กับกลไกการข้ามผ่านของการแก้ไข
ตัวอย่างเช่น ตัวเลือก %g* reflog จะแทรกสตริงว่างเว้นแต่เราจะเป็น
ผ่านรายการ reflog (เช่น โดย git log -g) ตัวยึดตำแหน่ง %d และ %D จะใช้
รูปแบบการตกแต่ง "สั้น" หาก --decorate ไม่ได้ระบุไว้ในคำสั่ง
เส้น

หากคุณเพิ่ม + (เครื่องหมายบวก) หลัง % ของตัวยึดตำแหน่ง ตัวป้อนบรรทัดจะถูกแทรกทันที
ก่อนการขยายก็ต่อเมื่อตัวยึดตำแหน่งขยายเป็นสตริงที่ไม่ว่างเปล่า

หากคุณเพิ่ม - (เครื่องหมายลบ) หลัง % ของตัวยึด ตัวป้อนบรรทัดที่อยู่ข้างหน้า
การขยายจะถูกลบออกถ้าและเฉพาะในกรณีที่พื้นที่ที่สำรองไว้ขยายเป็นสตริงว่าง

หากคุณเพิ่ม ` ` (เว้นวรรค) หลัง % ของตัวยึดตำแหน่ง ให้เว้นวรรคก่อน
การขยายก็ต่อเมื่อพื้นที่ที่สำรองไว้ขยายเป็นสตริงที่ไม่ว่างเปล่า

· รูปแบบ:

พื้นที่ รูปแบบ: รูปแบบการทำงานเหมือนกับ รูปแบบ:ยกเว้นว่าจะมี "terminator"
ความหมายแทนความหมาย "ตัวคั่น" กล่าวอีกนัยหนึ่งการคอมมิตแต่ละครั้งมี
อักขระตัวสิ้นสุดข้อความ (มักจะขึ้นบรรทัดใหม่) ต่อท้าย แทนที่จะเป็นตัวคั่น
วางไว้ระหว่างรายการ ซึ่งหมายความว่ารายการสุดท้ายของรูปแบบบรรทัดเดียวจะ
สิ้นสุดอย่างถูกต้องด้วยบรรทัดใหม่ เช่นเดียวกับรูปแบบ "oneline" สำหรับ
ตัวอย่าง:

$ git บันทึก -2 --pretty=format:%h 4da45bef \
| perl -pe '$_ .= " -- NO NEWLINE\n" ยกเว้น /\n/'
4da45be
7134973 -- ไม่มี NEWLINE

$ บันทึก git -2 --pretty=tformat:%h 4da45bef \
| perl -pe '$_ .= " -- NO NEWLINE\n" ยกเว้น /\n/'
4da45be
7134973

นอกจากนี้ สตริงที่ไม่รู้จักที่มี % อยู่ในนั้นจะถูกตีความราวกับว่ามี
tformat: ข้างหน้ามัน ตัวอย่างเช่น ทั้งสองมีค่าเท่ากัน:

$ git log -2 --pretty=tformat:%h 4da45bef
$ git บันทึก -2 --pretty=%h 4da45bef

จำกัด เอาท์พุท


หากคุณสนใจเฉพาะความแตกต่างในส่วนย่อยของไฟล์ เช่น some
ไฟล์เฉพาะสถาปัตยกรรม คุณอาจทำ:

git diff-tree -r arch/ia64 รวม/asm-ia64

และจะแสดงเฉพาะสิ่งที่เปลี่ยนแปลงในสองไดเร็กทอรีนั้น

หรือถ้าคุณกำลังค้นหาสิ่งที่เปลี่ยนแปลงในเคอร์เนล/sched.c ก็แค่ทำ

git diff-tree -r kernel/sched.c

และจะไม่สนใจความแตกต่างทั้งหมดกับไฟล์อื่น

รูปแบบจะเป็นคำนำหน้าเสมอ และตรงกันทุกประการ ไม่มีไวด์การ์ด สม่ำเสมอ
เข้มงวดกว่านั้นจะต้องตรงกับองค์ประกอบพา ธ ที่สมบูรณ์ คือ "foo" ไม่รับ foobar.h
"foo" ตรงกับ foo/bar.h ดังนั้นจึงสามารถใช้ตั้งชื่อไดเร็กทอรีย่อยได้

ตัวอย่างการใช้งานปกติคือ:

ทอร์วัลด์@ppc970:~/คอมไพล์> git diff-tree --abbrev 5319e4
:100664 100664 ac348b... a01513... git-fsck-objects.c

ซึ่งบอกคุณว่าการคอมมิตล่าสุดเปลี่ยนเพียงไฟล์เดียว (มาจากไฟล์นี้:

commit 3c6f7ca19ad4043e9e72fa94106f352897e651a8
tree 5319e4d609cdd282069cc4dce33c1db559539b03
parent b4e628ea30d5ab3606119d2ea5caeab141d38df7
ผู้เขียน Linus Torvalds[ป้องกันอีเมล]> ส. 9 เม.ย. 12:02:30 น. 2005
ผู้ตัดสิน Linus Torvalds[ป้องกันอีเมล]> ส. 9 เม.ย. 12:02:30 น. 2005

ทำให้ "git-fsck-objects" พิมพ์รูททั้งหมดที่พบ

เมื่อฉันติดตามข้อมูลอ้างอิงแล้ว ฉันจะทำให้มันพิมพ์ออกมาทั้งหมดด้วย
HEAD มุ่งมั่นที่จะค้นหาซึ่งน่าสนใจยิ่งขึ้น

เผื่อท่านใดสนใจ)

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-tree ออนไลน์โดยใช้บริการ onworks.net


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

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

คำสั่ง Linux

Ad