วิธีการยกเลิก rebit คอมไพล์จากภายในเป็นกลุ่มในระหว่างการแก้ไขแบบโต้ตอบ


138

เมื่อฉันทำ rebase เชิงโต้ตอบเช่น

git rebase -i HEAD~3

ตัวแก้ไขการโต้ตอบ rebase (เป็นกลุ่มในกรณีของฉัน) เปิดขึ้นเพื่อให้ฉันแก้ไขการกระทำเพื่อ rebase

pick c843ea2 Set Vim column limit to 80 (OS X)
pick fc32eac Add Bash alias for `pbcopy` (OS X)
....

ถ้าตอนนี้ฉันตัดสินใจแล้วว่าฉันต้องการยกเลิก rebase และออกเป็นกลุ่มโดยใช้:qrebase เริ่มต้นต่อไป ฉันใช้เวอร์ชั่นคอมไพล์1.9.0.msysgit.0บน windows

แน่นอนว่าฉันสามารถลบทุกpickบรรทัดได้ แต่มันอาจจะเป็นเรื่องที่ต้องทำมากมายหากฉันรีบูตประวัติศาสตร์ที่ยาวนานกว่า มีวิธีอื่นอีกไหม?

ฉันจะออกจากตัวแก้ไขการโต้ตอบ rebase (กลุ่ม) และยกเลิกการยกเลิกได้อย่างไร


คุณต้องการใช้โปรแกรมแก้ไขอื่นเช่น Notepad หรือไม่ ถ้าเป็นเช่นนั้นฉันมีทางออกสำหรับเรื่องนั้น
Steven Penny

5
git rebase --abort
vanduc1102

@ vanduc1102 ใช้งานได้สำหรับฉันหวังว่ามันจะเป็นคำตอบ!
C Bauer

คำตอบ:


258

หากคุณออกจากตัวแก้ไขด้วยรหัสข้อผิดพลาดการปฏิเสธจะถูกยกเลิก

หากต้องการออกด้วยรหัสข้อผิดพลาดในกลุ่มให้ทำ

:cq

ดูที่นี่และ vimdoc ที่นี่


6
พิมพ์น้อยลงผลลัพธ์เดียวกัน
Zach Posten

44

เพียงลบบรรทัดทั้งหมดที่ไม่ใช่ความคิดเห็นจากไฟล์ จากนั้นบันทึกลงในพา ธ ที่ให้มาที่เป็นค่าเริ่มต้นและออกจากโปรแกรมแก้ไข

ดังนั้นคอมไพล์จะไม่ทำอะไรเลยในการรีบูทนี้

หากต้องการลบบรรทัดทั้งหมดในกลุ่มคุณสามารถใช้

:%d|x

จากนั้นบันทึกและออก

ลบทุกบรรทัดของไฟล์ใน Vim

จะออกจากโปรแกรมแก้ไข Vim ได้อย่างไร?

VIM - หลายคำสั่งในบรรทัดเดียวกัน


นี่ไม่ใช่กรณีสำหรับการรวมการกระทำ ลองทำ rebase เชิงโต้ตอบเพื่อรวมอย่างน้อยหนึ่งผสานการกระทำและเปรียบเทียบผลลัพธ์กับสถานะดั้งเดิม
Mladen B.

9

หากคุณใช้ Notepad ++ บน Windows เช่น:

CtrlAเพื่อเลือกทุกอย่างจากนั้นDelหรือBackspaceเพื่อลบและCtrlSบันทึก Git จะยกเลิกการ rebase หากไฟล์ว่างเปล่า

นอกจากนี้คุณยังสามารถเข้าCtrlCสู่พรอมต์คำสั่งที่ git กำลังทำงานเพื่อหยุดคำสั่ง rebase ปัจจุบัน จากนั้นเรียกใช้git rebase --abortเพื่อเปลี่ยนกลับ


นี่เป็นวิธีทั่วไปในการแก้ปัญหานี้ไม่ว่าคุณจะใช้เป็นกลุ่มหรือเครื่องมือแก้ไขอื่น ๆ ขอบคุณมาก! :)
Mladen B.

3

ลบข้อความทั้งหมดในหน้าจอแก้ไขข้อความของคุณจากนั้นบันทึกไฟล์ด้วยเส้นทางที่ให้มาเป็นค่าเริ่มต้น

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