Git - ปิดการคอมมิทได้อย่างไร?


209

ฉันใหม่กับคอมไพล์และเรียนรู้จาก PDF ฉันเพิ่งดำเนินการคำสั่ง$ git commitและจะเปิดตัวแก้ไขใหม่ แต่ฉันพยายามปิดตัวแก้ไขคอมมิทใหม่ ทำอย่างไร ฉันใช้คอมไพล์บน windows


ไม่ใช่คำตอบที่สมบูรณ์ แต่วิธีหนึ่งที่จะหลีกเลี่ยงการแก้ไขคือใช้ตัวเลือก "-m" เช่นหลังจาก $ git เพิ่ม <your_changes> จากนั้นทำ $ git กระทำ -m "การเปลี่ยนแปลงของฉันฉันกำลังหลีกเลี่ยงการแก้ไข!"
Quetzalcoatl

คำตอบ:


242

บันทึกไฟล์ในเครื่องมือแก้ไข ถ้าเป็น Emacs: CTRLX CTRLSเพื่อบันทึกจากนั้นCTRLX CTRLCให้ออกหรือถ้าเป็น vi:wq

กดescก่อนเพื่อออกจากการแก้ไข (ใน windows / vi)


3
ผู้ใช้จำเป็นต้องปิดบรรณาธิการนอกเหนือไปจากการบันทึกไฟล์ดังนั้นสำหรับ Emacs Ctrl-X Ctrl-Cก็จริง
user4815162342

1
อัปเดต ... ฉันรู้ว่า แต่เหมือนคำสั่ง emacs ส่วนใหญ่พวกเขาฝังแน่นในตัวฉันจนฉันลืมสิ่งที่พวกเขาเป็น ... ฉันเพิ่งทำพวกเขา
tpg2114

หากคุณใช้ emacsclient คุณสามารถปิดได้ด้วยC-x #
azzamsa

1
ขอบคุณหน้าต่างทุบตีมันจะไม่ชัดเจนว่าคุณต้อง 1: ทางออกที่ 2: บันทึกการเปลี่ยนแปลง
ฆ Monsalve

โหมดแทรกนี้เป็นสิ่งที่ฉันสามารถปิดการใช้งานบนเครื่อง windows ของฉันได้หรือไม่?
Rez.Net

201

มีปัญหาเช่นกัน บน Linux ฉันใช้Ctrl+ X(และYเพื่อยืนยัน) จากนั้นฉันกลับมาที่เชลล์พร้อมที่จะดึง / ดัน

ในWindows GIT Bash Ctrl + Xจะไม่ทำอะไรเลยและพบว่ามันใช้งานได้ดีเหมือน vi / vim กดiเพื่อเข้าสู่โหมดแทรกแบบอินไลน์ พิมพ์คำอธิบายที่ด้านบนสุดกดescเพื่อออกจากโหมดแทรกจากนั้นพิมพ์:x!(ตอนนี้เคอร์เซอร์อยู่ที่ด้านล่าง) แล้วกดenterเพื่อบันทึกและออก

หากพิมพ์:q!แทนจะออกจากตัวแก้ไขโดยไม่บันทึก (และการกระทำจะถูกยกเลิก)


18
นี่คือคำตอบสำหรับฉันสำหรับ windows
lode

1
esc: x! - สิ่งนี้ไม่เพียง แต่ไม่สามารถค้นพบได้ราวกับว่ามีคนเล่นซ่อนหาฟังก์ชั่น
อุโมงค์

45

หลังจากเขียนข้อความคอมมิชชันเพียงกดปุ่มEscแล้วเขียน: wqหรือ: wq! จากนั้นEnterเพื่อปิดไฟล์ unix


6
วิธีนี้เป็นวิธีหนึ่งที่ใช้งานได้กับ Git Gui bash สำหรับหน้าต่าง
ocrampico

! สิ่งนี้ทำให้ฉันนึกถึงวันที่มหาวิทยาลัยเมื่อเราทำการแก้ไข Unix vi หลังจากเขียน:wqคำสั่งมานาน
Irf

:xเป็นทางลัดสำหรับ:wqในกลุ่ม
rnevius

19

ยังดีกว่ากำหนดค่าตัวแก้ไขเป็นสิ่งที่คุณพอใจ (gedit เป็นตัวอย่าง):

git config --global core.editor "gedit"

คุณสามารถอ่านการกำหนดค่าปัจจุบันดังนี้:

git config core.editor

คุณยังสามารถเพิ่มข้อความคอมมิชชันจากบรรทัดคำสั่ง

git commit -m "blablabla"

และตัวแก้ไขจะไม่ถูกเปิดตั้งแต่แรก


7

หลังจากgit commitคำสั่งคุณเข้าสู่โปรแกรมแก้ไขดังนั้นกดแรกiแล้วเริ่มพิมพ์ หลังจากส่งข้อความของคุณCtrl + cแล้ว:wq


4

ทางเลือกสำหรับนาโน (อาจทำให้ชีวิตของคุณง่ายขึ้น):

บน Windows ให้ใช้แผ่นจดบันทึก ในประเภทพรอมต์คำสั่ง:

git config core.editor notepad

บน Ubuntu / Linux ให้ใช้ text editor (gedit) ในหน้าต่างเทอร์มินัลประเภท:

git config core.editor gedit


1

ในฐานะที่เป็นทางเลือกที่จะ 'บันทึกและออกจาก' คุณสามารถใช้คอมไพล์กระทำของฟังก์ชันโดยค่าเริ่มต้นผูกไว้กับgit-commit-commit C-c C-cมันจะบันทึกไฟล์และปิดมัน หลังจากนั้นคุณยังต้องปิด emacs ด้วยC-x C-cดังที่ได้กล่าวไว้ก่อนหน้านี้ ฉันกำลังพยายามหาวิธีทำให้ emacs เลิกโดยอัตโนมัติ


1

ฉันมีปัญหานี้ฉันได้รับ ">" เช่นเดียวกับพรอมต์และฉันทำไม่ได้ ฉันแทนที่ "ในความคิดเห็นด้วย" และใช้งานได้

ฉันหวังว่านี้จะช่วยให้ใครบางคน!


Aha! ฉันติดกับพรอมต์ ">" นี้เช่นกัน จากการอ่านความคิดเห็นของคุณฉันพบว่าตั้งแต่ฉันใช้เครื่องหมายอัญประกาศเดี่ยวในการหดตัวในความคิดเห็นของฉันเครื่องกำลังรอให้ฉันปิดประกาศ! ในที่สุดฉันก็ฟรี!
Kevin Scharnhorst

0

ไม่แน่ใจว่าการรวมคีย์ที่พาคุณไปที่พรอมต์> แต่ไม่ใช่พรอมต์ทุบตีที่ฉันรู้ ฉันมักจะได้รับมันโดยไม่ได้ตั้งใจ Ctrl + C (หรือ D) พาฉันกลับไปที่ $ prompt



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