Git Revert
และ Git Reset
เป็นสองคำสั่งสำคัญใน Git สำหรับการเลิกทำและปรับการเปลี่ยนแปลงใน commit
ประวัติของที่เก็บ นี่คือคำแนะนำเกี่ยวกับวิธีใช้ Git Revert
และ Git Reset
:
Git Revert
-
Git Revert
ให้คุณสร้างคอมมิตใหม่เพื่อเลิกทำ(revert
) การเปลี่ยนแปลงที่คอมมิตก่อนหน้านี้ -
หากต้องการ
revert
acommit
ให้ใช้คำสั่งต่อไปนี้:git revert <commit_id>
แทนที่
<commit_id>
ด้วย ID ที่commit
คุณต้องการเปลี่ยนกลับ ใหม่commit
จะถูกสร้างขึ้น เลิกทำการเปลี่ยนแปลงในไฟล์commit
. Revert
ไม่เปลี่ยนแปลงcommit
ประวัติศาสตร์ แต่สร้างใหม่commit
เพื่อย้อนกลับการเปลี่ยนแปลง
Git Reset
-
Git Reset
ให้คุณย้อนกลับไปยังสถานะก่อนหน้าโดยย้ายสาขาHEAD
และสาขาปัจจุบันไปยังคอมมิชชันเฉพาะ -
Git Reset
มีสามโหมดที่แตกต่างกัน:--soft, --mixed(default), and --hard.
-
ไปยัง
reset
สาขาHEAD
ปัจจุบันเป็น acommit
ให้ใช้คำสั่งต่อไปนี้:git reset --mode <commit_id>
แทนที่
<commit_id>
ด้วย ID ที่commit
คุณต้องการรีเซ็ต -
Git Reset
โหมด:-soft:
ย้ายHEAD
และสาขาปัจจุบันไปยังที่ระบุcommit
โดยคงการเปลี่ยนแปลงของสาขาก่อนหน้าไว้commit
ในพื้นที่การจัดเตรียม ใช้คำสั่งgit reset --soft <commit_id>
.--mixed:
นี่คือโหมดเริ่มต้น ย้ายสาขาHEAD
และสาขาปัจจุบันไปยังคอมมิชชันที่ระบุและลบการเปลี่ยนแปลงของสาขาก่อนหน้าออกcommit
จากพื้นที่จัดเตรียม ใช้คำสั่งgit reset --mixed <commit_id>
.--hard:
ย้ายHEAD
และสาขาปัจจุบันไปยังที่ระบุcommit
และละทิ้งการเปลี่ยนแปลงทั้งหมดก่อนหน้าcommit
นี้ โปรดใช้ความระมัดระวังเนื่องจากการเปลี่ยนแปลงที่ไม่ได้ผูกมัดจะสูญหายไป ใช้คำสั่งgit reset --hard <commit_id>
.
<commit_id>
. Git Reset
เปลี่ยนแปลงcommit
ประวัติและอาจทำให้ข้อมูลสูญหายได้ ดังนั้นโปรดใช้ด้วยความระมัดระวัง
Git Revert
และ Git Reset
เป็นเครื่องมืออันทรงพลังสำหรับการเลิกทำและปรับประวัติการคอมมิตใน Git ใช้อย่างระมัดระวังเพื่อให้แน่ใจว่าโครงการมีความเสถียรและหลีกเลี่ยงการสูญเสียข้อมูล