คำถามติดแท็ก diff

การกระทำของการระบุความแตกต่างระหว่างสองไฟล์ขึ้นไปเพื่อสนับสนุนกิจกรรมการพัฒนาซอฟต์แวร์ต่าง ๆ (การติดตามบั๊กการสร้างแพทช์, ... )

5
อะไรคือความแตกต่างระหว่าง double-dot“ .. ” และ triple-dot“ …” ใน Git diff commit
อะไรคือความแตกต่างระหว่างคำสั่งต่อไปนี้: git diff foo master # a git diff foo..master # b git diff foo...master # c คู่มือต่างต่างพูดถึงมัน: เปรียบเทียบสาขา $ git diff topic master <1> $ git diff topic..master <2> $ git diff topic...master <3> การเปลี่ยนแปลงระหว่างเคล็ดลับของหัวข้อและสาขาหลัก เช่นเดียวกับข้างต้น การเปลี่ยนแปลงที่เกิดขึ้นในสาขาหลักตั้งแต่เมื่อเริ่มหัวข้อสาขา แต่ไม่ชัดเจนสำหรับฉันเลย
190 git  diff  git-diff 

14
วิธีเปรียบเทียบไฟล์ไบนารีเพื่อตรวจสอบว่าเหมือนกันหรือไม่
อะไรคือวิธีที่ง่ายที่สุด (ใช้เครื่องมือกราฟิกหรือบรรทัดคำสั่งบน Ubuntu Linux) เพื่อทราบว่าไฟล์ไบนารีสองไฟล์เหมือนกันหรือไม่ (ยกเว้นการประทับเวลา) ฉันไม่จำเป็นต้องแยกความแตกต่างจริง ๆ ฉันแค่ต้องรู้ว่าพวกเขาเหมือนกันหรือไม่
186 file  binary  compare  diff 

13
'สถานะ git' แสดงไฟล์ที่ถูกเปลี่ยนแปลง แต่ 'git diff' ไม่แสดง
ฉันได้ดูคำถามที่คล้ายกันทั้งหมด อย่างไรก็ตามฉันได้ตรวจสอบซ้ำแล้วซ้ำอีกและมีบางสิ่งแปลก ๆ เกิดขึ้นอย่างแน่นอน ในเซิร์ฟเวอร์เดียว (Solaris with Git 1.8.1) ฉันโคลนที่เก็บ Git จากนั้นคัดลอกโฟลเดอร์. git ไปยังไฟล์สดที่มีอยู่ มันทำงานได้อย่างสมบูรณ์แบบฉันสามารถวิ่งได้ git status แล้วก็ git diff [filename] เพื่อตรวจสอบไฟล์ใด ๆ ที่แตกต่างกัน บนเซิร์ฟเวอร์อื่น (Solaris กับ Git 1.7.6) ฉันทำแบบเดียวกันทุกประการ git diff [filename] ไม่แสดงอะไรเลยถึงแม้ว่าเนื้อหาของไฟล์จะแตกต่างกันอย่างแน่นอน ฉันยังได้ทดสอบการเพิ่มไฟล์ใหม่ยอมรับและแก้ไข ปัญหาเดียวกันgit statusแสดงไฟล์ว่ามีการเปลี่ยนแปลง แต่git diffไม่แสดงอะไรเลย หากฉันดาวน์โหลดไฟล์ที่เปลี่ยนแปลงและรัน diff แบบโลคัลฉันจะได้รับเอาต์พุต diff
181 git  diff 

2
“ Diff” รูปภาพโดยใช้ ImageMagick
ฉันจะรับความแตกต่างระหว่างสองภาพได้อย่างไร ฉันมีภาพต้นฉบับ มีคนเขียนทับภาพต้นฉบับที่แน่นอน ตอนนี้ฉันต้องเปรียบเทียบต้นฉบับกับการเขียนบนภาพและแยกการเขียนในรูปแบบภาพ ตัวอย่าง: ฉันมีรูปบ้าน มีคนหยิบสำเนาและเขียนว่า“ Hello!” บนสำเนา ฉันต้องการที่จะเปรียบเทียบภาพสองภาพเอาบ้านและทิ้งไว้กับภาพของคำว่า "Hello!" เป็นไปได้ไหมที่ ImageMagick ฉันรู้ว่ามีวิธีที่จะได้ความแตกต่างทางสถิติระหว่างภาพ แต่นั่นไม่ใช่สิ่งที่ฉันกำลังมองหา

6
สิทธิ์การใช้ไฟล์ Git บน Windows
ฉันได้อ่านคำถามสองสามข้อเกี่ยวกับการอนุญาตไฟล์ใน Git และฉันก็ยังสับสนอยู่ ฉันได้รับ repo จาก GitHub มาจากที่อื่น โพสต์ผสานพวกเขาควรจะเหมือนกัน อย่างไรก็ตาม: $ git diff --summary origin/epsilon master/epsilon mode change 100644 => 100755 ants/dist/sample_bots/csharp/compile.sh mode change 100644 => 100755 ants/dist/starter_bots/coffeescript/MyBot.coffee mode change 100644 => 100755 ants/dist/starter_bots/coffeescript/ants.coffee mode change 100644 => 100755 ants/util/block_test.sh mode change 100644 => 100755 manager/mass_skill_update.py mode change 100644 => …

3
Git แตกต่างระหว่างสาขาปัจจุบันและหลัก แต่ไม่รวมถึงการไม่ผูกมัดปริญญาโท
ฉันต้องการความแตกต่างของการเปลี่ยนแปลงทั้งหมดในสาขาที่ยังไม่ได้รวมเข้ากับปริญญาโท ฉันเหนื่อย: git diff master git diff branch..master git diff branch...master อย่างไรก็ตามในแต่ละกรณีเหล่านี้ diff มีเนื้อหาในต้นแบบที่ยังไม่ได้รวมเข้ากับสาขาของฉัน มีวิธีการแตกต่างระหว่างสาขาของฉันและเจ้านายที่แยกการเปลี่ยนแปลงในต้นแบบที่ยังไม่ได้ถูกรวมเข้าไปในสาขาของฉันหรือยัง

7
วิธีการแสดงเส้นร่วมกัน (reverse diff)?
ฉันมีชุดไฟล์ข้อความที่ฉันต้องการรู้บรรทัดเหมือนกันมากกว่าบรรทัดที่แตกต่างกัน บรรทัดคำสั่ง unix หรือ windows นั้นใช้ได้ foo: linux-vdso.so.1 => (0x00007fffccffe000) libvlc.so.2 => /usr/lib/libvlc.so.2 (0x00007f0dc4b0b000) libvlccore.so.0 => /usr/lib/libvlccore.so.0 (0x00007f0dc483f000) libc.so.6 => /lib/libc.so.6 (0x00007f0dc44cd000) บาร์: libkdeui.so.5 => /usr/lib/libkdeui.so.5 (0x00007f716ae22000) libkio.so.5 => /usr/lib/libkio.so.5 (0x00007f716a96d000) linux-vdso.so.1 => (0x00007fffccffe000) ดังนั้นเมื่อให้ทั้งสองไฟล์ด้านบนผลลัพธ์ของยูทิลิตี้ที่ต้องการจะคล้ายกับfile1:line_number, file2:line_number == matching text (เพียงข้อเสนอแนะฉันไม่สนใจว่าไวยากรณ์คืออะไร): foo:1, bar:3 == linux-vdso.so.1 => (0x00007fffccffe000) ขอบคุณ
170 command-line  diff 

21
ฉันจะสร้างส่วนต่างของสเปรดชีตที่อ่านได้โดยใช้ git diff อย่างไร
เรามีสเปรดชีตจำนวนมาก (xls) ในที่เก็บซอร์สโค้ดของเรา เหล่านี้มักจะแก้ไขได้ด้วย Gnumeric หรือ openoffice.org และส่วนใหญ่จะใช้ในการเติมฐานข้อมูลสำหรับการทดสอบหน่วยที่มีDbUnit ไม่มีวิธีง่าย ๆ ในการทำ diffs บนไฟล์ xls ที่ฉันรู้จักและสิ่งนี้ทำให้การรวมที่น่าเบื่อและข้อผิดพลาดเกิดขึ้นได้ง่ายมาก ฉันพยายามแปลงสเปรดชีตเป็น xml และทำ diff ทั่วไป แต่มันรู้สึกเหมือนว่ามันควรจะเป็นทางเลือกสุดท้าย ฉันต้องการที่จะทำการ diffing (และการผสาน) กับgitฉันทำกับไฟล์ข้อความ ฉันจะทำเช่นนี้ได้อย่างไรเมื่อออกgit diff?
168 git  version-control  merge  diff  xls 

10
การเปรียบเทียบสองไฟล์ใน linux terminal
มีสองไฟล์ที่เรียกว่า"a.txt"และ"b.txt"ทั้งสองมีรายการคำ ตอนนี้ผมต้องการที่จะตรวจสอบคำที่มีความพิเศษในการ"a.txt"และไม่ได้อยู่ใน"b.txt" ฉันต้องการอัลกอริทึมที่มีประสิทธิภาพเพราะฉันต้องการเปรียบเทียบพจนานุกรมสองเล่ม

5
อัลกอริทึม Diff? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องการอภิปรายการโต้แย้งการหยั่งเสียงหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ฉันดูบ้าไปแล้วสำหรับคำอธิบายของอัลกอริธึม diff ที่ใช้งานได้และมีประสิทธิภาพ ที่ใกล้เคียงที่สุดที่ฉันได้รับคือลิงก์ไปยัง RFC 3284 (จากหลายบทความของ Eric Sink บล็อก) ซึ่งอธิบายในแง่ที่เข้าใจได้อย่างสมบูรณ์แบบรูปแบบข้อมูลที่เก็บผลลัพธ์ต่าง ๆ อย่างไรก็ตามไม่ได้กล่าวถึงว่าโปรแกรมจะบรรลุผลลัพธ์เหล่านี้อย่างไรในขณะที่ทำโปรแกรม ฉันพยายามค้นคว้าเรื่องความอยากรู้อยากเห็นแบบส่วนตัวเพราะฉันแน่ใจว่าจะต้องมีการแลกเปลี่ยนเมื่อใช้อัลกอริธึม diff ซึ่งค่อนข้างชัดเจนในบางครั้งเมื่อคุณดู diffs และสงสัยว่า "ทำไมโปรแกรม diff จึงเลือกสิ่งนี้เป็นการเปลี่ยนแปลง แทนที่จะเป็นเช่นนั้น "... ฉันจะหาคำอธิบายเกี่ยวกับอัลกอริทึมที่มีประสิทธิภาพที่จะสิ้นสุดการแสดงผล VCDIFF ได้อย่างไร อย่างไรก็ตามถ้าคุณพบคำอธิบายของอัลกอริทึมจริงที่ใช้โดย DiffMerge ของ SourceGear นั่นจะดีกว่า หมายเหตุ: การเรียงลำดับทั่วไปที่ยาวที่สุดดูเหมือนจะไม่ได้เป็นอัลกอริธึมที่ VCDIFF ใช้ดูเหมือนว่าพวกเขากำลังทำอะไรที่ฉลาดกว่าโดยใช้รูปแบบข้อมูลที่ใช้
164 algorithm  diff  vcdiff 

9
วิธีลบบรรทัดที่ปรากฏในไฟล์ B จากไฟล์ A อื่น?
ฉันมีไฟล์ขนาดใหญ่A (ประกอบด้วยอีเมล) หนึ่งบรรทัดสำหรับแต่ละเมล ฉันยังมีไฟล์ Bอีกอันที่มีเมลอีกชุดหนึ่ง ฉันจะใช้คำสั่งใดเพื่อลบที่อยู่ทั้งหมดที่ปรากฏในไฟล์ B จากไฟล์ A ดังนั้นว่าไฟล์ที่มีอยู่: A B C และไฟล์ B บรรจุอยู่: B D E จากนั้นไฟล์ A ควรจะเหลือด้วย: A C ตอนนี้ฉันรู้ว่านี่เป็นคำถามที่อาจจะได้รับการถามบ่อยขึ้น แต่ผมพบว่าเพียงหนึ่งคำสั่งออนไลน์ที่ให้ฉันข้อผิดพลาดที่มีตัวคั่นที่ไม่ดี ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมมาก! ใครบางคนจะมากับซับในที่ฉลาด แต่ฉันไม่ใช่ผู้เชี่ยวชาญเชลล์
160 linux  shell  sed  diff  grep 

8
ดูความแตกต่างของสาขาด้วย meld?
meld .ฉันรู้ว่าฉันสามารถดูความแตกต่างระหว่างหัวและรัฐในปัจจุบันมี แต่ฉันจะดูความแตกต่างระหว่างสาขาตัวอย่างmasterและdevelกับ meld ได้อย่างไร ในขณะที่ฉันทำตามขั้นตอนต่อไปนี้: เปลี่ยนชื่อโฟลเดอร์สำเนาการทำงาน ตัวอย่างเช่นmv /projectA /projectA_master) โคลนโครงการอีกครั้ง git clone url เปลี่ยนเป็นdevelสาขา cd projectA && git -b devel origin/devel ดูความแตกต่างด้วย meld meld /projectA_Master projectA ไม่มีวิธีที่ง่ายกว่าในการรับผลลัพธ์ที่เหมือนกันในการรวมกันหรือไม่ ฉันแค่ต้องการตรวจสอบการเปลี่ยนแปลงไม่ใช่เพื่อการรวมเข้าด้วยกันเป็นหลัก
159 git  diff  branch  meld 

2
ทำไม“ git difftool” ไม่เปิดเครื่องมือโดยตรง
ฉันกำหนดค่าgitเช่นนี้: git config --global diff.tool meld เมื่อฉันวิ่ง: git difftool ฉันได้รับข้อความต่อไปนี้: Viewing: 'hello.txt' Hit return to launch 'meld': แล้วถ้าผมกดEnter, meldจะเปิดตัว ฉันจะปิดการใช้งานข้อความนี้เพื่อที่meldจะเปิดตัวทันทีหลังจากพิมพ์git difftool?
157 git  diff  difftool 

3
สร้างไฟล์ patch หรือ diff จาก git repository และนำไปใช้กับ git repository อื่น
ฉันทำงานกับโครงการที่ใช้ WordPress และฉันต้องการแก้ไขโครงการของฉันที่ WP รุ่นใหม่แต่ละรุ่น สำหรับสิ่งนี้ฉันต้องการสร้างแพทช์ระหว่างสองคอมมิทหรือแท็ก ตัวอย่างเช่นใน repo ของ/www/WPฉันฉันทำสิ่งนี้: $git patch-format com1..com2 --stdout > ~/patchs/mypatch.patch หรือ $git patch-format tag1..tag2 --stdout > ~/patchs/mypatch.patch /www/WP ตอนนี้ WordPress /www/myproject โครงการ WordPress ของฉันคอมไพล์ตาม git applyบรรทัดคำสั่งไม่ทำงานผมคิดว่าเพราะเราอยู่ในที่เก็บที่แตกต่างกัน ฉันสามารถสร้างไฟล์ปะแก้โดยไม่มีการคอมมิตเพียงส่วนต่างและนำไปใช้กับที่เก็บ git อื่นได้หรือไม่ ขอบคุณล่วงหน้า
155 git  diff  patch  git-diff  git-apply 

4
ระบายสีพื้นที่สีขาวในผลลัพธ์ของ git-diff
เกี่ยวกับการจัดรูปแบบโค้ดฉันเป็นคนพิถีพิถัน :) ฉันมักจะลบช่องว่างสีขาวที่ไม่จำเป็นออกไป (เส้นที่มีเฉพาะ ws, ws ที่ท้ายบรรทัด ฯลฯ ) ฉันยังได้ตั้งกลุ่มเพื่อแสดงให้เห็นว่าชนิดของเส้นที่มีสีแดง ปัญหาของฉันคือการใช้ git-diff ฉันมักจะเห็นสิ่งนี้: - else{ + else{ แม้ว่าฉันจะมีสี git-diff แต่ฉันก็ไม่สามารถเห็นความแตกต่างได้ มีวิธีใดที่จะบอก git-diff เพื่อแสดงว่า ws เป็นสีแดงหรือไม่? (ตัวอย่างเช่นที่ตรงกับ / \ s + $ / regexp)
151 git  colors  diff  whitespace 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.