Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

การเปลี่ยนแปลง Git ไม่ได้ถูกจัดฉากสำหรับการคอมมิต คำอธิบาย

ก่อนที่คุณจะสร้างการคอมมิต คุณต้องเพิ่มไฟล์ที่คุณได้เปลี่ยนแปลงไปในการคอมมิตนั้น เมื่อคุณเรียกใช้ 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 นี้เหมือนนักพัฒนามืออาชีพแล้ว!