อะไรคือความแตกต่างระหว่าง Git Revert, Checkout และ Reset?

Xari Khux Khwam Taek Tang Rahwang Git Revert Checkout Laea Reset



Git ใช้สำหรับติดตามการเปลี่ยนแปลงในไฟล์ซอร์สโค้ดและประสานงานระหว่างนักพัฒนาหลายคน ช่วยให้นักพัฒนาสามารถย้อนกลับไปยังสถานะก่อนหน้าและเลิกทำคอมมิทหรือการเปลี่ยนแปลงในที่เก็บได้ “ คอมไพล์ เปลี่ยนกลับ ”, “ คอมไพล์ เช็คเอาท์ ' และ ' คอมไพล์รีเซ็ต ” เป็นคำสั่ง Git ที่มีประโยชน์ที่สุด 3 คำสั่งที่ควรรู้ขณะทำงานในโครงการ Git

ผลลัพธ์ของบทความนี้คือ:

แยกความแตกต่างระหว่างคำสั่ง “git reset”, “git revert” และ “git checkout” หรือไม่

คอมไพล์ย้อนกลับ ”, “ คอมไพล์ชำระเงิน ', และ ' คอมไพล์รีเซ็ต คำสั่ง ” เป็นวิธีการเปลี่ยนแปลงซอร์สโค้ดแล้วเลิกทำหากผู้ใช้ไม่ชอบวิธีที่เปิดออกมา ความแตกต่างระหว่างคำสั่งเหล่านี้อยู่ที่การทำงานและการใช้งาน เช่น:







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

จะยกเลิกการคอมมิตโดยใช้คำสั่ง “git revert” ได้อย่างไร?

ในการเลิกทำคอมมิชชัน ขั้นแรกให้ไปที่ที่เก็บ Git ที่ต้องการแล้วสร้างไฟล์ จากนั้นติดตามไฟล์และยอมรับการเปลี่ยนแปลง หลังจากนั้น ให้เพิ่มเนื้อหาลงในไฟล์ใหม่ ระยะ และยอมรับการเปลี่ยนแปลงใหม่ สุดท้าย ดำเนินการ “ คอมไพล์ย้อนกลับ ” สั่งและตรวจสอบการเปลี่ยนแปลงการย้อนกลับ



ขั้นตอนที่ 1: ย้ายไปที่ Git Directory

ดำเนินการ “ ซีดี ” คำสั่งพร้อมกับเส้นทางไดเร็กทอรีโลคัลเฉพาะและไปที่:



$ ซีดี 'ค:\ไป \ร ที่เก็บ1'





ขั้นตอนที่ 2: สร้างไฟล์ใหม่

สร้างไฟล์ใหม่ในที่เก็บปัจจุบันโดยใช้คำสั่งด้านล่าง:

$ สัมผัส demo_file.txt



ขั้นตอนที่ 3: ติดตามไฟล์ใหม่

จากนั้นใช้ “ คอมไพล์เพิ่ม ” คำสั่งเพื่อเพิ่มไฟล์ใหม่ลงในพื้นที่จัดเตรียม:

$ คอมไพล์เพิ่ม demo_file.txt

ขั้นตอนที่ 4: ยอมรับการเปลี่ยนแปลง

ถัดไป รันคำสั่งต่อไปนี้เพื่อคอมมิตไฟล์จากพื้นที่จัดเตรียม:

$ คอมไพล์คอมไพล์ -ม 'เพิ่มไฟล์สาธิต'

ขั้นตอนที่ 5: อัปเดตไฟล์ใหม่

หลังจากนั้น ให้เพิ่มเนื้อหาลงในไฟล์ใหม่และอัปเดตด้วยความช่วยเหลือของ ' เสียงสะท้อน ' สั่งการ:

$ เสียงสะท้อน 'สวัสดี! เนื้อหาสาธิต' >> demo_file.txt

ขั้นตอนที่ 6: เพิ่มการเปลี่ยนแปลงใหม่ในพื้นที่การแสดงละคร

จากนั้นเรียกใช้ “ คอมไพล์เพิ่ม . ” คำสั่งเพื่อจัดลำดับการเปลี่ยนแปลงที่เพิ่มทั้งหมด:

$ คอมไพล์เพิ่ม .

ขั้นตอนที่ 7: ยอมรับการเปลี่ยนแปลงใหม่

ยอมรับการเปลี่ยนแปลงทีละขั้นโดยดำเนินการคำสั่งด้านล่างพร้อมกับข้อความ:

$ คอมไพล์คอมไพล์ -ม 'ไฟล์อัพเดท'

ขั้นตอนที่ 8: ตรวจสอบบันทึก Git

หากต้องการดูประวัติการคอมมิต ให้ตรวจสอบบันทึก Git โดยใช้คำสั่งด้านล่าง:

$ บันทึกคอมไพล์ --ออนไลน์

ตามผลลัพธ์ด้านล่าง มีสองคอมมิชชัน และ HEAD ชี้ไปที่ ' อัปเดตไฟล์แล้ว ' ให้สัญญา:

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

ขั้นตอนที่ 9: ยกเลิกการเปลี่ยนแปลง

เรียกใช้ “ คอมไพล์ย้อนกลับ ” คำสั่งพร้อมกับ HEAD เพื่อยกเลิกการเปลี่ยนแปลงของการกระทำนั้น:

$ คอมไพล์ย้อนกลับ ศีรษะ

ในภาพหน้าจอด้านล่าง คุณจะเห็นว่าการดำเนินการย้อนกลับสำเร็จแล้ว:

ขั้นตอนที่ 10: ตรวจสอบการคืนค่าการเปลี่ยนแปลง

สุดท้าย ตรวจสอบประวัติบันทึกการอ้างอิง Git เพื่อดูการเปลี่ยนแปลงใหม่ในประวัติการคอมมิต:

$ บันทึกคอมไพล์ --ออนไลน์

สังเกตได้ว่า “ อัปเดตไฟล์แล้ว ” คอมมิชชันยังคงอยู่ในประวัติโครงการแม้หลังจากการดำเนินการย้อนกลับ ดังนั้น แทนที่จะลบออก คำสั่งนี้จึงเพิ่มการคอมมิตใหม่เพื่อย้อนกลับการเปลี่ยนแปลง:

จะเปลี่ยนสาขาโดยใช้คำสั่ง “git checkout” ได้อย่างไร?

ในการเช็คเอาต์จากสาขาโลคัลหนึ่งไปยังอีกสาขาที่ต้องการ ขั้นแรก ให้ตรวจสอบสาขาที่มีอยู่ทั้งหมดในพื้นที่เก็บข้อมูล จากนั้นเรียกใช้ “ คอมไพล์ชำระเงิน คำสั่ง ” พร้อมกับชื่อสาขาที่ต้องการที่นักพัฒนาต้องการสลับ

ขั้นตอนที่ 1: ตรวจสอบรายชื่อสาขา

ดูรายชื่อสาขาในพื้นที่เก็บข้อมูลปัจจุบันด้วยความช่วยเหลือของ ' สาขาคอมไพล์ ' สั่งการ:

$ สาขาคอมไพล์

ในเอาต์พุตด้านล่าง จะเห็นได้ว่ามีสองสาขาอยู่ในที่เก็บ และ ' ผู้เชี่ยวชาญ ” คือสาขาที่ทำงานปัจจุบัน:

ขั้นตอนที่ 2: ชำระเงินไปยังสาขาอื่น

ตอนนี้เรียกใช้ ' คอมไพล์ชำระเงิน คำสั่ง ” พร้อมกับชื่อสาขาที่ต้องการและสลับไปที่:

$ คอมไพล์ชำระเงิน ผู้พัฒนา

ขั้นตอนที่ 3: ตรวจสอบสาขาปัจจุบัน

เพื่อให้แน่ใจว่าดำเนินการชำระเงินสำเร็จหรือไม่ ดูรายชื่อสาขา:

$ สาขาคอมไพล์

จะเห็นได้ว่าเราได้ทำการชำระเงินเรียบร้อยแล้วจาก “ ผู้เชี่ยวชาญ ” สาขาที่ “ ผู้พัฒนา ' สาขา. ตอนนี้, ' ผู้พัฒนา ” คือสาขาที่ทำงานปัจจุบัน:

วิธีเลิกติดตามการเปลี่ยนแปลงโดยใช้ คำสั่ง “git reset”?

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

ขั้นตอนที่ 1: ตรวจสอบบันทึก Git

ดูประวัติการกระทำและตรวจสอบว่า HEAD ชี้ไปที่ใดโดยใช้ “ บันทึกคอมไพล์ ' สั่งการ:

$ บันทึกคอมไพล์ --ออนไลน์

สังเกตได้ว่า HEAD จะชี้ไปที่ “ อัปเดตไฟล์แล้ว ' ให้สัญญา:

ขั้นตอนที่ 2: รีเซ็ตการเปลี่ยนแปลง

หากต้องการลบการคอมมิตออกจากไดเร็กทอรีการทำงานในเครื่องของ Git ให้ดำเนินการ ' คอมไพล์รีเซ็ต ” คำสั่งพร้อมกับ “– แข็ง ” และระบุตำแหน่ง HEAD ที่ต้องการเพื่อเลื่อนตัวชี้:

$ คอมไพล์รีเซ็ต --แข็ง หัว ~ หนึ่ง

เอาต์พุตที่กำหนดแสดงว่าการดำเนินการรีเซ็ตสำเร็จแล้ว:

ขั้นตอนที่ 3: ตรวจสอบการรีเซ็ตการเปลี่ยนแปลง

สุดท้าย ดูการเปลี่ยนแปลงใหม่ในประวัติการคอมมิตโดยตรวจสอบบันทึก Git ผ่านคำสั่งด้านล่าง:

$ บันทึกคอมไพล์ --ออนไลน์

จะเห็นได้ว่า “ อัปเดตไฟล์แล้ว ” คอมมิชชันถูกลบออกจากประวัติคอมมิชชันแล้ว และตอนนี้ HEAD ชี้ไปที่ “ เพิ่มไฟล์สาธิตแล้ว ' ให้สัญญา:

เราได้อธิบายความแตกต่างระหว่าง “ คอมไพล์ย้อนกลับ ”, “ คอมไพล์ชำระเงิน ' และ ' คอมไพล์รีเซ็ต ” คำสั่ง

บทสรุป

คอมไพล์ย้อนกลับ คำสั่ง ” ใช้เพื่อเลิกทำการเปลี่ยนแปลงโดยสร้างคอมมิตที่เก็บใหม่จากการคอมมิตก่อนหน้าและเพิ่มประวัติใหม่ไปยังที่เก็บ “ ตรวจสอบคอมไพล์ คำสั่ง t” ใช้สำหรับสลับสาขาในที่เก็บและอนุญาตให้นักพัฒนาทำงานในสาขาต่างๆ โดยไม่ต้องทำการเปลี่ยนแปลงโดยตรงในที่เก็บ ในทางกลับกัน “ คอมไพล์รีเซ็ต คำสั่ง ” ใช้สำหรับการเปลี่ยนแปลงที่ไม่ได้จัดฉากจากพื้นที่ติดตาม บทความนี้แยกความแตกต่างระหว่างคำสั่ง 'git reset', 'git revert' และ 'git checkout' และวิธีการทำงาน