การบันทึกการเปลี่ยนแปลงไปยังที่เก็บ Git นั้นไม่ง่ายเหมือนกับการบันทึกไฟล์ ระบบควบคุมเวอร์ชัน Git ใช้วิธีการติดตามการเปลี่ยนแปลงที่ซับซ้อนยิ่งขึ้น ซึ่งช่วยให้นักพัฒนาสามารถควบคุมการเปลี่ยนแปลงที่ทำกับโค้ดในที่เก็บได้ละเอียดยิ่งขึ้น
คำสั่ง git commit เป็นขั้นตอนหนึ่งในการ "บันทึก" การเปลี่ยนแปลงที่ทำกับโปรเจ็กต์ไปยังที่เก็บ ฟังก์ชันบรรทัดคำสั่ง git add ถูกใช้เพื่อสร้างบันทึกการเปลี่ยนแปลงที่จะเก็บไว้ในคอมมิต จากนั้นใช้ git commit เพื่อสร้างคอมมิตกับการเปลี่ยนแปลงเหล่านั้น สุดท้าย git push ถูกใช้เพื่อส่งการคอมมิตไปยังที่เก็บส่วนกลาง
ในบทช่วยสอนนี้ เราจะมาสำรวจพร้อมตัวอย่าง วิธีใช้คำสั่ง git commit เพื่อสร้างคอมมิตด้วย Git เมื่ออ่านบทช่วยสอนนี้จบแล้ว คุณจะเป็นผู้เชี่ยวชาญในการสร้างคอมมิตโดยใช้คอมมิตของคอม
คอมมิต Git
คอมมิตเป็นส่วนสำคัญของระบบควบคุมเวอร์ชัน Git
วิธีหนึ่งในการคิดเกี่ยวกับการคอมมิตคือเป็นภาพรวมของโปรเจ็กต์ในช่วงเวลาหนึ่งในประวัติศาสตร์ของโปรเจ็กต์ เมื่อมีการสร้างการคอมมิต มันจะสร้างบันทึกว่าไฟล์และไดเร็กทอรีทั้งหมดปรากฏในโปรเจ็กต์ในขณะที่สร้างคอมมิตอย่างไร
บันทึกนี้สามารถอ่านได้ในอนาคตเพื่อดูว่าโครงการมองในช่วงเวลาใดและใครเป็นผู้เปลี่ยนแปลงไฟล์ใดในโครงการ อันที่จริง Commit เป็นคุณสมบัติที่สำคัญของ Git เพราะจะช่วยให้นักพัฒนาสามารถเก็บบันทึกที่ครอบคลุมว่าพื้นที่เก็บข้อมูลของพวกเขามีการพัฒนาอย่างไรเมื่อเวลาผ่านไป
ไม่เหมือนกับระบบควบคุมเวอร์ชันอื่น การคอมมิตจะไม่ส่งผลต่อที่เก็บส่วนกลางจนกว่าคุณจะพร้อม ซึ่งหมายความว่าสามารถทำหน้าที่เป็นช่องว่างระหว่างการเปลี่ยนแปลงที่ทำกับที่เก็บและเวอร์ชันหลักของที่เก็บ
กล่าวอีกนัยหนึ่ง แทนที่จะต้องทำการเปลี่ยนแปลงโดยตรงในเวอร์ชันหลักของ repo ซึ่งอาจมีผู้มีส่วนร่วมจำนวนมากคอยดู repo อย่างแข็งขัน นักพัฒนาสามารถคอมมิตโค้ดของตนใน repo ในพื้นที่ของตนและส่งไปยังที่เก็บหลักในภายหลัง
81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้
ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก
การสร้างคอมมิตเป็นขั้นตอนที่สองจากขั้นตอนสุดท้ายในการ "บันทึก" การเปลี่ยนแปลงใน Git หลังจากที่คุณสร้างการคอมมิต ขั้นตอนต่อไปคือการใช้ git push เพื่อส่งการเปลี่ยนแปลงที่คุณทำกับที่เก็บส่วนกลาง
วิธีใช้ Git Commit
คำสั่ง git commit จะบันทึกการเปลี่ยนแปลงที่จัดฉากทั้งหมดลงในที่เก็บโลคัล
“การเปลี่ยนแปลงแบบทีละขั้น” หมายถึงไฟล์ทั้งหมดในพื้นที่จัดเตรียม ซึ่งถูกเพิ่มโดยใช้คำสั่ง git add หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับคำสั่ง git add คุณสามารถอ่านคำแนะนำสำหรับผู้เริ่มต้นใช้งาน git add ได้
มาดูวิธีการใช้คำสั่ง git commit
คอมไพล์คอม
การใช้งานพื้นฐานที่สุดของคำสั่ง git commit มีดังนี้:
git commit
คำสั่งนี้ยอมรับการเปลี่ยนแปลงที่จัดฉากกับที่เก็บโลคัล เมื่อรันคำสั่งนี้ โปรแกรมแก้ไขข้อความจะเปิดขึ้นเพื่อขอให้คุณส่งข้อความยืนยัน
ข้อความนี้เป็นที่ที่คุณควรอธิบายสั้นๆ เกี่ยวกับการเปลี่ยนแปลงที่คุณได้ทำกับที่เก็บในการคอมมิต หลังจากที่คุณเขียนข้อความยืนยันแล้ว คุณสามารถปิดโปรแกรมแก้ไขข้อความ จากนั้นระบบจะสร้างการคอมมิต
git คอมมิท -a
แฟล็ก -a ซึ่งย่อมาจาก all อนุญาตให้คุณสเตจไฟล์ที่แก้ไขทั้งหมดที่จะคอมมิตโดยอัตโนมัติ
สมมติว่าคุณมีไฟล์ชื่อ CONTRIBUTORS.md ซึ่งคุณได้คอมมิตกับที่เก็บของคุณ หากคุณเปลี่ยนไฟล์นี้ คุณสามารถใช้คำสั่ง git commit -a เพื่อสเตจและเพิ่มการเปลี่ยนแปลงในที่เก็บของคุณ
การใช้แฟล็ก -a ทำให้คุณสามารถข้ามการรัน "git add" ในไฟล์ที่เปลี่ยนแปลงทั้งหมดได้ นี่เป็นเพราะแฟล็ก -a สั่งให้ git จัดการไฟล์ที่แก้ไขทั้งหมด อย่างไรก็ตาม แฟล็ก -a จะไม่สร้างไฟล์ใหม่ใดๆ ดังนั้น หากคุณสร้างไฟล์ชื่อ “README.md” ไฟล์นั้นจะไม่ถูกจัดฉาก เว้นแต่คุณจะเรียกใช้ “git add” ก่อน
นี่คือไวยากรณ์สำหรับแฟล็ก -a:
git commit -a
คำสั่งนี้จะสร้างสเตจไฟล์ที่แก้ไขทั้งหมดโดยอัตโนมัติเพื่อคอมมิตในที่เก็บของเรา
คอมไพล์คอม -m
บางทีแฟล็กทั่วไปที่ใช้กับคอมไพล์คอมมิทคือแฟล็ก -m แฟล็ก -m ซึ่งย่อมาจาก message ถูกใช้เพื่อเพิ่มข้อความยืนยันในการคอมมิต
เมื่อคุณใช้คำสั่ง git commit โดยไม่มีแฟล็ก -m โปรแกรมแก้ไขข้อความจะเปิดขึ้น ซึ่งคุณสามารถเขียนข้อความได้ดังที่เราได้กล่าวไว้ก่อนหน้านี้ อย่างไรก็ตาม การใช้แฟล็ก -m ช่วยให้คุณสามารถข้ามผ่านการเปิดโปรแกรมแก้ไขข้อความโดยระบุข้อความยืนยันโดยตรง
นี่คือไวยากรณ์สำหรับการใช้คำสั่ง git commit กับแฟล็ก -m:
git commit -m "feat: commit message"
ในคำสั่งนี้ เราระบุแฟล็ก -m เพื่อระบุว่าเราต้องการเพิ่มข้อความคอมมิตโดยตรงไปยังคอมมิตของเรา (แทนที่จะให้โปรแกรมแก้ไขข้อความเปิดขึ้นเมื่อเราเพิ่มข้อความ) จากนั้น เราใส่ข้อความยืนยันของเราในเครื่องหมายคำพูดต่อจากแฟล็ก -m ในกรณีนี้ ข้อความยืนยันของเราคือ “feat:commit message”
ตัวอย่างการคอมมิต Git
มาดูตัวอย่างการใช้งานคำสั่ง git commit กัน
สมมติว่าเรากำลังทำงานในโครงการและเราเพิ่งแก้ไขไฟล์ app.py ในโครงการของเรา เราได้ทำการเปลี่ยนแปลงทั้งหมดที่เราต้องการทำกับไฟล์ และเราพร้อมที่จะสร้างการคอมมิตสำหรับไฟล์
ขั้นตอนแรกคือการเพิ่มไฟล์ลงในพื้นที่จัดเตรียมโดยใช้ git add คุณสามารถทำได้โดยใช้รหัสนี้:
git add app.py
ตอนนี้ไฟล์ app.py อยู่ในพื้นที่จัดเตรียม ซึ่งหมายความว่าเราสามารถคอมมิตโค้ดของเราได้เมื่อเราพร้อม
เราได้เพิ่มฟังก์ชันใหม่ที่เรียกว่า “runApp()” ในไฟล์ app.py ของเรา ซึ่งเราต้องการมอบให้กับที่เก็บในเครื่อง เราสามารถทำได้โดยใช้รหัสนี้:
git commit -m "feat: Add runApp() function"
คำสั่งนี้สร้างการคอมมิตโดยมีการเปลี่ยนแปลงในไฟล์ app.py ของเรา ข้อความที่เกี่ยวข้องกับการคอมมิตของเราคือ “feat:Add runApp() function” ซึ่งอธิบายสั้นๆ เกี่ยวกับการเปลี่ยนแปลงที่เราได้ทำกับที่เก็บของเรา
แก้ไข Git Commit
คำสั่ง git commit ยังอนุญาตให้แก้ไขการคอมมิตก่อนหน้า คุณสามารถแก้ไขการคอมมิตก่อนหน้าได้โดยใช้ตัวเลือก – แก้ไข
สมมติว่าเราเพิ่งสร้างการคอมมิตและเราลืมเพิ่มไฟล์ __init__.py ในการคอมมิตของเรา เราสามารถแก้ไขการคอมมิตเริ่มต้นเพื่อให้ไฟล์ของเราถูกรวมโดยใช้รหัสนี้:
git add __init__.py git commit --amend -m "feat: Add runApp() function and update init file"
สิ่งนี้จะแก้ไขการคอมมิตก่อนหน้าของเราให้รวมไฟล์ __init__.py และจะแก้ไขการคอมมิตของเราเพื่อใช้ข้อความยืนยันใหม่ที่เราระบุไว้ในคำสั่งด้านบน
นักพัฒนาซอฟต์แวร์มักใช้แฟล็ก –amend เนื่องจากง่ายต่อการทำผิดพลาดเมื่อคุณกำลังกำหนดเวอร์ชันซอฟต์แวร์ ตัวอย่างเช่น คุณอาจลืมจัดสเตจไฟล์เพื่อคอมมิต หรือคุณอาจพิมพ์ผิดเมื่อคุณเขียนข้อความคอมมิต หรือข้อความคอมมิตของคุณอาจไม่ได้รวมการเปลี่ยนแปลงสำคัญที่คุณทำกับโค้ดของคุณ
ดังนั้น คุณมักจะใช้แฟล็ก –amend บ่อยครั้งเมื่อคุณกำลังพัฒนาซอฟต์แวร์
การเขียนข้อความแสดงความมุ่งมั่นที่ดี
ดังที่เราได้กล่าวไปแล้ว การเขียนข้อความยืนยันเป็นสิ่งจำเป็นเมื่อคุณใช้คำสั่ง git แม้ว่าข้อความยืนยันในทางเทคนิคจะรวมทุกอย่างที่คุณต้องการ แต่คุณควรใช้เวลาคิดถึงสิ่งที่คุณต้องการรวมไว้ในข้อความยืนยัน
แม้ว่าจะไม่มีกฎเกณฑ์เกี่ยวกับวิธีการเขียนข้อความยืนยันที่ดี แต่ก็มีแนวทางปฏิบัติที่ดีที่สุดสองสามข้อที่นักพัฒนามักใช้เพื่อให้แน่ใจว่าพวกเขาจะเขียนข้อความยืนยันที่สอดคล้องกันและสื่อความหมาย
ต่อไปนี้คือสิ่งที่คุณควรจำไว้เมื่อคุณเขียนข้อความคอมมิต git:
- กำหนดหัวเรื่องของข้อความส่งตัวพิมพ์ใหญ่
- จำกัดหัวเรื่องไว้ที่ 50 ตัวอักษร
- ใช้เนื้อหาของคอมมิตเพื่ออธิบายสิ่งที่คุณเปลี่ยนแปลง (แทนที่จะเป็นสาเหตุ)
- เก็บแต่ละบรรทัดในเนื้อหาของคอมมิตที่มีอักขระน้อยกว่า 72 ตัว
การปฏิบัติตามกฎเหล่านี้จะช่วยให้คุณสามารถเขียนข้อความยืนยันที่อ่านได้ง่ายขึ้นซึ่งง่ายต่อการตีความ
นอกจากนี้ คุณอาจต้องการอ้างถึงปัญหาอื่นๆ หรือดึงคำขอในข้อความยืนยันของคุณ ตัวอย่างเช่น หากการคอมมิตแก้ไขปัญหา #22 ในที่เก็บ คุณอาจตั้งชื่อการคอมมิตของคุณว่า “แก้ไข:แก้ไขปัญหา #22” และใส่คำอธิบายในเนื้อหาของคอมมิตเกี่ยวกับสิ่งที่คุณเปลี่ยนแปลงเพื่อแก้ไขปัญหา
บทสรุป
คำสั่ง git commit ใช้เพื่อย้ายไฟล์จากพื้นที่จัดเตรียมไปยังการส่ง คำสั่งนี้รันหลังจาก git add ซึ่งใช้เพื่อเพิ่มไฟล์ลงในพื้นที่จัดเตรียม git commit สร้างสแน็ปช็อตของการเปลี่ยนแปลงที่ทำกับที่เก็บ Git ซึ่งสามารถพุชไปยังที่เก็บหลักได้เมื่อผู้พัฒนาพร้อมที่จะทำเช่นนั้น
บทช่วยสอนนี้กล่าวถึงวิธีใช้คำสั่ง git commit เพื่อส่งการเปลี่ยนแปลงไปยังที่เก็บ Git ตอนนี้คุณมีความรู้ที่จำเป็นในการเริ่มใช้คำสั่ง git commit อย่างผู้เชี่ยวชาญแล้ว!