ข้อผิดพลาดที่พบบ่อยใน Git พร้อมวิธีแก้ไข

03-ต.ค.-18

คัมภีร์เทพ IT

หากคุณใช้ Git ในการทำงาน Project ขนาดใหญ่ ซึ่งมีเพื่อนร่วมงานจำนวนมากที่ร่วมกันทำใน Project นี้ อีกทั้งเมื่อต้องเจอกับความซับซ้อน ก็อาจทำให้เกิดข้อผิดพลาดได้ ในบทความนี้จะกล่าวถึง ข้อผิดพลาดที่พบบ่อยใน Git พร้อมทั้งวิธีแก้ไข เรามาดูกันเลยว่ามีอะไรบ้าง

1. สะกด Commit Message ผิด

หลังจากผ่านการ Coding มาหลายชั่วโมง เป็นไปได้ว่าอาจมีการสะกดคำผิดพลาดและอาจเล็ดลอดผ่านไปถึง commit message ลองมาดูวิธีแก้ง่ายๆ กันเลย

ซึ่งมันจะเปิดตัว editor ให้คุณและคุณก็สามารถแก้ไข commit message ได้ ดูเผินๆ คงไม่มีใครสังเกตเห็นว่าคุณสะกด Initial commment” ด้วยตัว m 3 ตัวหรอก

2. สะกดชื่อ Branch ผิด

สมมติ ตอนนี้เกือบบ่าย 3 แล้ว และคุณยังไม่ได้ทานข้าวเที่ยง แน่นอนว่าด้วยความหิวจัดของคุณ คุณดันตั้งชื่อ branch ใหม่ของคุณเป็น feature-brunch (คราวนี้ล่ะ อร่อยแน่นอน)

แต่คุณก็มีทางออกในเรื่องนี้ เพราะเราสามารถ rename ชื่อ branch ในลักษณะเดียวกับการ rename ชื่อ file ด้วยคำสั่ง mv :โดยการย้ายไปที่ position ใหม่ด้วยชื่อที่ถูกต้อง

หากคุณได้ทำการ push branch นี้แล้ว อาจมีขั้นตอนที่ต้องทำเพิ่มขึ้นอีกเล็กน้อย คือ เราจำเป็นต้องลบ branch เก่าก่อน แล้ว push branch ใหม่เข้าไป:

3. Commit การเปลี่ยนแปลงใน Master Branch โดยไม่ได้ตั้งใจ

ตอนนี้คุณอาจกำลังทำงานในส่วนของ feature ใหม่อยู่ และด้วยความรีบร้อน คุณดันลืมเปิด branch ใหม่ให้กับมัน แต่คุณก็ commit พวก file ต่างๆ ซึ่งตอนนี้ได้ไปอยู่ใน master branch เรียบร้อยแล้ว แต่เราก็สามารถ roll back การเปลี่ยนแปลงเหล่านั้น ด้วย 3 command เหล่านี้:

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

นี่เป็นการสร้าง branch ใหม่ จากนั้น roll back ตัว master branch ไปยังตำแหน่งก่อนหน้าที่คุณจะทำการเปลี่ยนแปลง ก่อนที่จะย้ายไปสู่ branch ใหม่

4. ลืม Add File ลงไปใน Commit ล่าสุด

ข้อผิดพลาดอื่นๆ ที่มักจะเกิดขึ้นบ่อยก็คือ การ commit เร็วเกินไป คุณลืม file ลืม save หรือต้องการเปลี่ยนแปลงอะไรเล็กน้อย สำหรับ commit ล่าสุดเพื่อให้มันถูกต้องและควรจะเป็น ซึ่งคุณสามารถใช้ amend ในการแก้ไขปัญหานี้ได้

ทำการเพิ่ม file ที่ตกหล่นไป แล้ว run command ตามนี้:

มาถึงจุดนี้ คุณสามารถแก้ไข commit message หรือ save ข้อมูลเพื่อเก็บไว้ได้

5. Add File ผิดลงใน Repo

แต่จะเกิดอะไรขึ้นถ้าคุณทำตรงกันข้ามล่ะ จะเกิดอะไรขึ้นถ้าคุณดันไป add file ที่คุณไม่ต้องการ commit? ถ้ามันเป็น ENV file หรือ directory ที่สร้างขึ้นผิด และแม้แต่รูปน้องหมาที่คุณ save ไว้ผิด folder โดยไม่ได้ตั้งใจล่ะ? ทั้งหมดนี้สามารถแก้ไขได้

หากทุกสิ่งที่คุณได้ทำเป็น stage ของ file และคุณยังไม่ได้ commit มัน วิธีนี้ง่ายเหมือนกับการ reset staged file:

ถ้าคุณได้ทำการ commit การเปลี่ยนแปลงไปแล้ว ก็ไม่ต้องกังวล คุณแค่ต้องทำขั้นตอนเพิ่มเติมเหล่านี้ก่อน:

นี่เป็นการ undo commit, remove ภาพออก, และเพิ่มการ commit ใหม่เข้าไปแทน

6. Oops… I did it again

นี่ไม่ได้เป็นการย้อนนึกถึงเพลงของ Britney Spears แต่อย่างใด แต่เป็นการกล่าวถึง command ที่ใช้สำหรับเมื่อทุกอย่างเกิดผิดพลาดไปแล้วต่างหาก เมื่อคุณได้ copy-paste solution ต่างๆ มากมายจาก Stack Overflow และ repo ของคุณอยู่ในสถานะที่แย่กว่าเมื่อตอนคุณเริ่มต้นซะอีก ถึงได้ทำให้เรามาถึงจุดนี้กัน

git reflog จะแสดง list ของสิ่งที่คุณได้ทำไปแล้ว จากนั้นมันจะสามารถช่วยทำให้คุณย้อนกลับไปยังจุดใดก็ได้ในสิ่งที่คุณได้ทำไปแล้ว อยากจะบอกว่า คุณไม่ควรใช้งานมันอย่างสะเหร่า หากอยากดู list ดังกล่าวให้พิมพ์ตามนี้:

ทุกขั้นตอนและทุกอย่างที่เราทำ Git กำลังเผ้ามองเราเสมอ และเมื่อ run สิ่งนั้นบน Project เราจะได้ดังนี้:

คุณต้องรู้ว่า column ซ้ายสุด มันคือ  index หากคุณต้องการย้อนกลับไปที่จุดใดๆ ก็ให้ run command ด้านล่าง โดยแทนที่ {index} ด้วย index ที่ต้องการ อย่างเช่น dfa27a2

หวังว่าบทความนี้จะช่วยให้คุณ สามารถป้องกันปัญหาการใช้งาน Git ที่อาจเกิดขึ้นในอนาคต รวมทั้งสามารถแก้ไขปัญหาที่มีอยู่ได้ไม่มากก็น้อย

ที่มา: https://medium.com/

 

 

รับตำแหน่งงานไอทีใหม่ๆ ด้วยบริการ IT Job Alert

 

อัพเดทบทความจากคนวงในสายไอทีทาง LINE ก่อนใคร
อย่าลืมแอดไลน์ @techstarth เป็นเพื่อนนะคะ

เพิ่มเพื่อน

 

บทความที่เกี่ยวข้อง