ฉันกำลังพยายามใช้git add --interactive
เพื่อเลือกเพิ่มการเปลี่ยนแปลงบางอย่างในดัชนีของฉัน แต่ฉันได้รับข้อความ "ก้อนที่แก้ไขของคุณใช้ไม่ได้อย่างต่อเนื่องแก้ไขอีกครั้ง ... " ฉันได้รับข้อความนี้แม้ว่าฉันจะเลือกตัวเลือก e และบันทึก / ปิดโปรแกรมแก้ไขทันที กล่าวอีกนัยหนึ่งโดยไม่ต้องแก้ไขก้อนใหญ่เลยแพตช์จะไม่ใช้
นี่คือตัวอย่างที่แน่นอนที่ฉันใช้ (ฉันพยายามรวบรวมตัวอย่างเล็ก ๆ ):
ไฟล์ต้นฉบับ:
first change
second change off branch
third change off branch
second change
third change
fourth change
ไฟล์ใหม่:
Change supporting feature 1
first change
second change off branch
third change off branch
second change
third change
fourth change
bug fix 1
change supporting feature 1
ฉันกำลังพยายามแสดงวิธีใช้git add --interactive
เพื่อเพิ่มบรรทัด "bug fix 1" ในดัชนีเท่านั้น เรียกใช้การเพิ่มแบบโต้ตอบในไฟล์ฉันเลือกโหมดแก้ไข มันนำเสนอฉันด้วย
diff --git a/newfile b/newfile
index 6d501a3..8b81ae9 100644
--- a/newfile
+++ b/newfile
@@ -1,6 +1,9 @@
+Change supporting feature 1
first change
second change off branch
third change off branch
second change
third change
fourth change
+bug fix 1
+change supporting feature 1
ฉันตอบกลับด้วยการแบ่งตามด้วย "ไม่" เพื่อใช้ก้อนแรก ก้อนที่สองฉันพยายามแก้ไข ตอนแรกฉันพยายามลบบรรทัดล่างสุด แต่ไม่ได้ผล การปล่อยให้ก้อนใหญ่อยู่คนเดียวก็ไม่ได้ผลเช่นกันและฉันก็คิดไม่ออกว่าทำไม
-
ที่จุดเริ่มต้นของบรรทัดที่ไม่มีอยู่ในไฟล์ที่จะขึ้นต้นด้วย มันเป็นความแตกต่างและไม่สามารถลบบรรทัดที่ไม่มีอยู่ได้ ดังนั้นถ้าเส้นใน diff ขึ้นต้นด้วย+
และคุณเปลี่ยนเป็น-
git ไป WTF? เนื่องจากตอนนี้ไม่มีบรรทัดที่ทำเครื่องหมายสำหรับการลบออก (แทนที่บรรทัดนั้นจะถูกทำเครื่องหมายสำหรับการเพิ่มและเมื่อมีการทำเครื่องหมายบรรทัดที่ทำเครื่องหมายสำหรับการลบ git จะไม่สามารถลบบรรทัดที่ไม่มีอยู่ในไฟล์ได้) .