0Pricing
DevOps Bootcamp · บทเรียน

การยกเลิกการเปลี่ยนแปลงภายในเครื่อง

เรียนรู้วิธีต่าง ๆ ในการย้อนกลับหรือรีเซ็ตการเปลี่ยนแปลงภายในเครื่อง รวมถึงการนำไฟล์ออกจากพื้นที่เตรียมการและการแก้ไขคอมมิตก่อนหน้า

การยกเลิกการเปลี่ยนแปลงภายในเครื่อง เป็นบทเรียน DevOps Bootcamp ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน DevOps Bootcamp และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน

อุ๊ย! การย้อนกลับการเปลี่ยนแปลงภายในเครื่อง

เคยทำพลาดหรือเปลี่ยนใจระหว่างทำโครงการไหมครับ ไม่ต้องกังวลนะครับ ทุกคนก็เคยเป็นเช่นนั้น!

Git มีเครื่องมือที่ทรงพลังสำหรับย้อนกลับการเปลี่ยนแปลงในคลังภายในเครื่อง บทเรียนนี้จะแสดงวิธีย้อนคืนการแก้ไขที่ไม่ต้องการอย่างปลอดภัย

เริ่มต้นด้วย `git status` เสมอ

ก่อนย้อนกลับสิ่งใด สิ่งสำคัญคือต้องทราบสถานะปัจจุบันของคลัง คำสั่ง git status จะเป็นผู้ช่วยที่ดีที่สุดของคุณในกรณีนี้

คำสั่งนี้จะแจ้งว่าไฟล์ใดถูกแก้ไข จัดเตรียมไว้ (พร้อมสำหรับการคอมมิต) หรือยังไม่ได้ติดตาม

git status

นำไฟล์ที่จัดเตรียมไว้ออกจากพื้นที่จัดเตรียม

บางครั้งคุณเพิ่มไฟล์ไปยังพื้นที่จัดเตรียมด้วย git add แต่ภายหลังพบว่าไม่ต้องการรวมไฟล์นั้นไว้ในการคอมมิตครั้งถัดไป

คุณสามารถนำไฟล์นั้นออกจากพื้นที่จัดเตรียม โดยย้ายกลับไปเป็นสถานะที่แก้ไขแล้ว (ยังไม่ได้จัดเตรียม) ด้วยคำสั่ง git restore --staged <file>

git add my_feature.js
git status
git restore --staged my_feature.js
git status

ละทิ้งการเปลี่ยนแปลงในไดเรกทอรีทำงาน (ไฟล์)

หากคุณแก้ไขไฟล์ในไดเรกทอรีทำงานแต่ยังไม่ได้จัดเตรียมไฟล์ และตอนนี้ต้องการละทิ้งการเปลี่ยนแปลงเหล่านั้นทั้งหมด จะทำอย่างไร

คำสั่ง git restore <file> จะย้อนคืนไฟล์นั้นไปเป็นสถานะเมื่อคอมมิตครั้งล่าสุด ซึ่งเท่ากับลบการแก้ไขภายในเครื่องของคุณ

echo "new content" > index.html
git status
git restore index.html
git status

ละทิ้งการเปลี่ยนแปลงที่ยังไม่ได้คอมมิตทั้งหมด

โปรดใช้คำสั่งนี้ด้วยความระมัดระวัง! หากต้องการละทิ้งการเปลี่ยนแปลง ทั้งหมด ในไดเรกทอรีทำงานที่ยังไม่ได้คอมมิต คุณสามารถใช้ git restore .

คำสั่งนี้จะย้อนคืนไฟล์ที่แก้ไขทั้งหมดในไดเรกทอรีปัจจุบันและไดเรกทอรีย่อยให้กลับไปเป็นสถานะเมื่อคอมมิตครั้งล่าสุด ไฟล์ที่ยังไม่ได้จัดเตรียมจะสูญหาย!

echo "change 1" > file1.txt
echo "change 2" > file2.txt
git status
git restore .
git status

แก้ไขข้อความคอมมิตล่าสุด

พิมพ์ผิดในข้อความคอมมิตล่าสุดหรือลืมระบุรายละเอียดสำคัญหรือไม่

คุณสามารถแก้ไขข้อความของคอมมิตล่าสุดได้ด้วย git commit --amend คำสั่งนี้จะเปิดตัวแก้ไขข้อความเริ่มต้นของคุณเพื่อให้แก้ไขข้อความ

git commit --amend -m "Updated commit message with fix"

แก้ไขเพื่อเพิ่มไฟล์ที่ขาดหาย

ลืมรวมไฟล์ไว้ในการคอมมิตล่าสุดหรือไม่ ไม่เป็นไรครับ!

จัดเตรียมไฟล์ที่ลืมด้วย git add จากนั้นใช้ git commit --amend --no-edit คำสั่งนี้จะเพิ่มไฟล์ที่จัดเตรียมไว้ลงในคอมมิตก่อนหน้าโดยไม่เปลี่ยนข้อความของคอมมิต

git add new_script.py
git commit --amend --no-edit

เหตุผลที่ควรใช้ `git restore`

คุณอาจพบคู่มือเก่าที่แนะนำให้ใช้ git reset HEAD <file> เพื่อนำไฟล์ออกจากพื้นที่จัดเตรียม หรือใช้ git checkout -- <file> เพื่อละทิ้งการเปลี่ยนแปลง

แม้คำสั่งเหล่านี้จะใช้งานได้ แต่ git restore เป็นคำสั่งรุ่นใหม่ที่เข้าใจง่ายกว่า ซึ่งออกแบบมาเพื่อให้การดำเนินการเหล่านี้ชัดเจนและปลอดภัยยิ่งขึ้น โดยออกแบบมาโดยเฉพาะสำหรับการย้อนกลับการเปลี่ยนแปลง

นำทุกอย่างมารวมกัน: สถานการณ์ตัวอย่าง

ลองนึกภาพว่าคุณแก้ไข config.json จัดเตรียมไฟล์นั้น แล้วพบว่าทำผิดพลาดและต้องการละทิ้งการเปลี่ยนแปลงทั้งหมด

  • ขั้นแรก นำไฟล์ออกจากพื้นที่จัดเตรียม
  • จากนั้นย้อนคืนไฟล์ให้กลับเป็นเวอร์ชันเมื่อคอมมิตครั้งล่าสุด
echo "bad config" > config.json
git add config.json
git status
git restore --staged config.json
git restore config.json
git status

ตรวจสอบอย่างรวดเร็ว: การย้อนกลับ

คุณแก้ไข data.csv ในไดเรกทอรีทำงาน แต่ยังไม่ได้จัดเตรียมการเปลี่ยนแปลง คุณตัดสินใจว่าจะละทิ้งการแก้ไขเหล่านี้ทั้งหมดและย้อนคืน data.csv ให้กลับไปเป็นสถานะเมื่อคอมมิตครั้งล่าสุด

ทบทวน: เชี่ยวชาญการย้อนกลับ

ยอดเยี่ยมครับ! คุณได้เรียนรู้วิธีย้อนกลับการเปลี่ยนแปลงภายในเครื่องใน Git อย่างปลอดภัยแล้ว:

  • ใช้ git status เพื่อดูการเปลี่ยนแปลงปัจจุบัน
  • ใช้ git restore --staged <file> เพื่อนำไฟล์ออกจากพื้นที่จัดเตรียม
  • ใช้ git restore <file> เพื่อละทิ้งการเปลี่ยนแปลงในไดเรกทอรีทำงานของไฟล์หนึ่งไฟล์
  • ใช้ git restore . เพื่อละทิ้งการเปลี่ยนแปลงทั้งหมดในไดเรกทอรีทำงานที่ยังไม่ได้จัดเตรียม (โปรดใช้ด้วยความระมัดระวัง!)
  • ใช้ git commit --amend เพื่อแก้ไขข้อความคอมมิตล่าสุดหรือเพิ่มไฟล์ที่ขาดหาย

คำสั่งเหล่านี้จำเป็นอย่างยิ่งต่อการรักษาประวัติโครงการให้สะอาดและถูกต้อง!

คำถามที่พบบ่อย

บทเรียน “การยกเลิกการเปลี่ยนแปลงภายในเครื่อง” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การยกเลิกการเปลี่ยนแปลงภายในเครื่อง” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส DevOps Bootcamp ให้อัปเกรดเป็น CoddyKit PRO คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การยกเลิกการเปลี่ยนแปลงภายในเครื่อง”

เรียนรู้วิธีต่าง ๆ ในการย้อนกลับหรือรีเซ็ตการเปลี่ยนแปลงภายในเครื่อง รวมถึงการนำไฟล์ออกจากพื้นที่เตรียมการและการแก้ไขคอมมิตก่อนหน้า คุณปฏิบัติ DevOps Bootcamp ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน DevOps Bootcamp หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน DevOps Bootcamp บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “การยกเลิกการเปลี่ยนแปลงภายในเครื่อง” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน DevOps Bootcamp นี้ได้ไหม

ได้ บทเรียน DevOps Bootcamp ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การเตรียม การคอมมิต และประวัติ
  2. การยกเลิกการเปลี่ยนแปลงภายในเครื่อง
  3. พื้นฐานการแยกสาขาและการผสาน
  4. การพักงานที่กำลังดำเนินการ
← กลับไปที่ DevOps Bootcamp