อาจเป็นข้อความ error ที่ embarrassing ที่สุดตอนใช้ git development hub คือ commit messages หลังทำ normal merge คุณอาจเห็นบรรทัดบอก “please enter a commit message to explain why this merge is necessary” แต่พิมพ์อะไรก็ตามก็ออกไม่ได้ เหตุที่ embarrassing คือ เพราะ นี่ไม่ใช่ error message เลย
Prompt นี้จริงๆ มีไว้ให้มนุษย์ที่ต้อง edit git merges ข้อความที่เพิ่มเข้าไปคือแค่ notice ให้ developers อื่นๆ ที่อ่านสิ่งที่คุณเขียน คุณต้องออกจาก editor วิธีเดียวกันกับตอนใช้จาก standard terminal screen
ออกจาก git Merges ที่ขอ Commit Messages
โดยทั่วไปจะเห็นนี้ถ้าทำ normal merge บน git ใน document แยก บางครั้งได้ prompt นี้หลัง block of code ตอน merge updated upstream เข้า topic branch ของมันเอง เอกสารของ git ไม่มีอะไรบอกว่าทำไงตอนเจอ เพราะมันจริงๆ ไม่ใช่ prompt เลย
ทั้งสองบรรทัดของข้อความขึ้นต้นด้วย # symbol หมายถึงเป็น comments เนื่องจาก git ไม่รู้ว่ามี developer กี่คนทำงานโปรเจกต์ จึงเพิ่ม prompt นี้ไว้ให้คุณทิ้งข้อความบอกคนอื่นว่าทำไม merge upstream เข้า topic branch ต้องรู้ว่าใช้ editor อะไร เพื่อจะออกได้
ส่วนใหญ่ใช้ vi หรือ vim editors กด Esc แล้วพิมพ์ :wq กด enter เพื่อออก นี่คือวิธีออกจาก vim ในโอกาสอื่นๆ บันทึกไฟล์และออก จะพาคุณออกจาก git ทันที
สังเกต cues ที่ช่วยบอกว่าใช้ editor อะไร ใน screenshot ตัวอย่าง tilde characters เพิ่มเติมที่แสดง new lines ที่ยังไม่ insert เข้า file เป็นสัญญาณชัดเจนว่า git ใส่เราใน vim อีกอย่าง ถ้าหลงทาง editor ไหน กด Esc และ :wq เพราะ vi/vim เป็น universal แทบทุกที่ วิธีนี้มักจะออกได้
อีกทาง ถ้าใช้ nano กด Ctrl+X แล้วพิมพ์ y เมื่อถาม save changes กด enter จะออกจาก git กลับไปที่เดิม โดยทั่วไปจะเห็นบรรทัด “GNU nano” ที่ด้านบน terminal ถ้าไม่มี ให้ดู keyboard shortcuts ที่ด้านล่างหน้าต่าง
ถ้าวิธีทั้งสองไม่ได้ กด Ctrl+X ตามด้วย Ctrl+C เพื่อออก ควรจะออกจาก git ได้ถ้าใช้ emacs editor กรณีนี้ unusual ในส่วนใหญ่ Esc+:wq ควรได้ และ Ctrl+X+y ได้ใน nano ใช้ Ctrl+X+Ctrl+C เฉพาะรู้ว่าเป็น emacs หรือวิธีก่อนหน้าไม่ได้ Ctrl+C ก็ออกได้ (ไม่ save) ถ้าใช้ JOE editor
หลังออกแล้วกลับมาที่ prompt พิมพ์ cat ~/.gitconfig | grep editor ที่ terminal เพื่อดูว่า editor อะไรที่คุณติดอยู่ จะได้บรรทัดกลับมาแบบ editor = vim ซึ่งเป็น editor default ของ git ในอนาคต ถ้าเจอ “Please enter a commit message…” อีก ใช้วิธีออกมาตรฐานของ editor นั้น
อาจอยาก edit file ด้วย text editor ที่ชอบ เปลี่ยน editor ให้เป็นที่ชอบ เลื่อนไป [core] แล้วเปลี่ยน “editor = vim” เป็นที่ต้องการ เช่น “editor = nano” ถ้าชอบ nano
ABOUT THE AUTHOR

Kevin Arrows
Kevin Arrows เป็นผู้เชี่ยวชาญด้านเทคโนโลยีที่มีประสบการณ์มากกว่า 10 ปี ได้รับการรับรอง Microsoft Certified Technology Specialist (MCTS) มีความหลงใหลในการอัปเดตเทคโนโลยีล่าสุด เขียนบทความเกี่ยวกับหัวข้อเทคโนโลยีกว้างขวาง แสดงความเชี่ยวชาญในด้านการพัฒนาซอฟต์แวร์ ความปลอดภัยไซเบอร์ และ Cloud Computing ได้รับการยอมรับและเคารพจากเพื่อนร่วมงาน สามารถอธิบายแนวคิดทางเทคนิคที่ซับซ้อนได้อย่างชัดเจนและกระชับ