วิธีดูเฉพาะไฟล์ที่ยังไม่ได้รวมในคอมไพล์หลังจากเกิดความล้มเหลวในการรวม


24

ในขณะที่การรวมบางไฟล์ล้มเหลวในการผสาน

git status

แสดงทั้งการรวมที่สำเร็จและล้มเหลว

วิธีดูเฉพาะไฟล์ผสานที่ไม่สำเร็จ (ขัดแย้ง)

ขณะนี้ฉันกำลังใช้คำสั่งต่อไปนี้เพื่อทำสิ่งนี้

 find . -name '*.cpp' -o -name '*.h' | xargs grep -l '<<<<'

คำตอบ:


29
git diff

การดำเนินการนี้จะแสดงการรวมที่ล้มเหลวหลังจากการผสานไม่สำเร็จ มีตัวเลือกมากมายในการกำหนดค่าข้อมูลที่คุณต้องการดู ฉันสงสัยว่านี่เป็นตัวเลือกที่แน่นอนหลังจากคุณ:

 git diff --name-status --diff-filter=U

ยังดู http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#resolving-a-merge และ http://www.kernel.org/pub/software/scm/git/docs/git-diff.html


7
หากคุณต้องการรายการไฟล์ที่ไม่มีไฟล์โดยไม่ต้องใส่ U คุณสามารถโทรได้ git diff --name-only --diff-filter=U. วิธีนี้คุณสามารถไพพ์เอาท์พุทตัวอย่างเช่นทำ git diff --name-only --diff-filter=U | xargs subl.
JHannes


4
git --no-pager diff --name-only --diff-filter=U

แต่เนื่องจากเป้าหมายมีแนวโน้มที่จะแก้ไขไฟล์เหล่านี้มากที่สุดสิ่งต่อไปนี้จะสมบูรณ์แบบ:

vim $(git diff --name-only --diff-filter=U)

ขอบคุณ @JHannes จากความเห็นของคำตอบอื่น

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