ก่อนที่คุณจะสร้างการคอมมิต คุณต้องเพิ่มไฟล์ที่คุณได้เปลี่ยนแปลงไปในการคอมมิตนั้น เมื่อคุณเรียกใช้ git status
คำสั่งก่อนที่จะเพิ่มไฟล์ไปยังคอมมิต คุณจะเห็น changes not staged for commit
ข้อความในผลลัพธ์ของคำสั่ง
ในคู่มือนี้ เราจะพูดถึงความหมายของข้อความนี้และเหตุใดจึงสำคัญ เราจะอธิบายตัวอย่างวิธีสร้างสเตจไฟล์ที่คุณต้องการเพิ่มในการคอมมิต
การเปลี่ยนแปลงไม่ได้ถูกจัดฉากสำหรับการคอมมิต
ไฟล์ในที่เก็บ Git สามารถละเว้นได้ ในพื้นที่จัดเตรียม หรือส่วนหนึ่งของการคอมมิต
ไฟล์ที่ถูกละเว้นจะไม่รวมอยู่ในบันทึกของที่เก็บ Git ไฟล์ในพื้นที่จัดเตรียมคือไฟล์ที่จะเพิ่มในการคอมมิตครั้งต่อไป
พื้นที่จัดเตรียมมีความสำคัญเนื่องจากช่วยให้คุณเลือกไฟล์ที่ควรและไม่ควรเพิ่มในการคอมมิต คุณสามารถเพิ่มหรือลบไฟล์ออกจากพื้นที่จัดเตรียมได้ตลอดเวลาก่อนที่คุณจะสร้างการคอมมิต
ซึ่งหมายความว่าพื้นที่การแสดงละครค่อนข้างเป็นพื้นที่คัดแยก หากคุณพบว่าจำเป็นต้องเพิ่มไฟล์เพิ่มเติมในการคอมมิต คุณสามารถเพิ่มไฟล์นั้นในการแสดงระยะได้ จากนั้น เมื่อคุณแน่ใจว่าได้เพิ่มการเปลี่ยนแปลงทั้งหมดลงในพื้นที่จัดเตรียมแล้ว คุณสามารถสร้างคอมมิตได้
ตัวอย่างสถานการณ์
ในการรับข้อความนี้ ก่อนอื่นเราต้องเปลี่ยนไฟล์ในที่เก็บ Git สมมติว่าเรามีที่เก็บ Git ที่มีไฟล์เปล่าชื่อ README.md เราจะเปลี่ยนเนื้อหาเพื่อแสดงสิ่งต่อไปนี้:
# Example Repo
81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้
ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก
เราได้เปลี่ยนไฟล์ในที่เก็บของเรา ต่อไป เราจะเรียกใช้คำสั่ง git status เพื่อดูสรุปไฟล์ทั้งหมดที่เปลี่ยนแปลง:
git status
มาดูกันว่าคำสั่งนี้แสดงอะไร:
ที่สาขาหลัก
สาขาของคุณเป็นปัจจุบันด้วย 'origin/master'
การเปลี่ยนแปลงที่ไม่ได้จัดฉากสำหรับการคอมมิต:
(ใช้ "git add..." เพื่ออัปเดตสิ่งที่จะคอมมิต) (ใช้ "git checkout -- ..." เพื่อละทิ้งการเปลี่ยนแปลงในไดเร็กทอรีการทำงาน) แก้ไข:README.mdก่อน> บรรทัดคำสั่ง Git บอกเราว่าเรากำลังดูสาขาหลัก และสาขาปัจจุบันของเราเป็นปัจจุบันด้วยสาขาระยะไกลของเรา เราได้เปลี่ยนแปลงหนึ่งไฟล์:README.md ไฟล์นี้ยังไม่ได้ถูกเพิ่มลงในพื้นที่จัดเตรียมหรือการคอมมิต ไดเร็กทอรีการทำงานของเราได้รับการแก้ไข
เพื่อให้ข้อความนี้หายไป เราต้องเพิ่มไฟล์ README.md ลงในพื้นที่แสดง เราสามารถทำได้โดยใช้คำสั่ง git add:
git add README.md
คำสั่งนี้ช่วยให้เราเลือกไฟล์ที่จะเพิ่มลงในคอมมิตได้ ต่อไป เราสามารถสร้างคอมมิตด้วยไฟล์ที่เราได้เปลี่ยนแปลงซึ่งอยู่ในพื้นที่การแสดงละคร เรียกใช้ git commit เพื่อสร้างคอมมิต:
git commit -m “docs: Update README.md”
สิ่งนี้จะสร้างบันทึกสถานะปัจจุบันของที่เก็บพร้อมการเปลี่ยนแปลงทั้งหมดที่เราเพิ่มลงในพื้นที่แสดง หากคุณกำลังทำงานกับที่เก็บที่มีเวอร์ชันรีโมต คุณอาจต้องการส่งคอมมิตของคุณไปยังที่เก็บหลังจากสร้าง:
git push
ขณะนี้เราได้ทำการเปลี่ยนแปลงพื้นที่เก็บข้อมูลของเราทั้งเวอร์ชันโลคัลและรีโมตแล้ว
มาดูสถานะ git ของสาขากันอีกครั้ง:
บน master branch สาขาของคุณเป็นปัจจุบันด้วย 'origin/master'.nothing to commit, working tree cleanคำสั่งบอกเราว่าไม่มีการเปลี่ยนแปลงใดๆ ที่ยังไม่ได้เพิ่มไปยังการคอมมิตหรือพื้นที่การจัดเตรียม ซึ่งหมายความว่าเราได้เปลี่ยนที่เก็บของเราเรียบร้อยแล้ว ขณะนี้มีการคอมมิตเพิ่มเติมหนึ่งรายการในที่เก็บของเราซึ่งมีการเปลี่ยนแปลงที่เราทำกับ README.md
บทสรุป
ข้อความ "การเปลี่ยนแปลงที่ไม่ได้จัดฉากสำหรับการคอมมิต" จะแสดงเมื่อคุณเรียกใช้คำสั่ง "สถานะ git" และมีไฟล์ที่มีการเปลี่ยนแปลงแต่ยังไม่ได้เพิ่มลงในพื้นที่แสดง
นี่ไม่ใช่ข้อความแสดงข้อผิดพลาด แต่เป็นการแจ้งเตือนว่าคุณได้เปลี่ยนไฟล์ที่ไม่ได้อยู่ในพื้นที่การจัดเตรียมหรือการคอมมิต คุณสามารถทำให้ข้อความหายไปได้โดยการเพิ่มไฟล์ของคุณในการคอมมิตและส่งไปยังที่เก็บ
ตอนนี้คุณมีความรู้ที่จำเป็นในการแก้ไขข้อผิดพลาด Git นี้เหมือนนักพัฒนามืออาชีพแล้ว!