วิธีเปลี่ยน Git Commit โดยใช้การแก้ไขตัวเลือก

How Change Git Commit Using Amend Option



` git คอมมิท คำสั่ง ` ใช้เพื่อยืนยันการเปลี่ยนแปลงที่ทำในที่เก็บ และ git จะเก็บประวัติของแต่ละงานที่มอบหมาย บางครั้ง ผู้ใช้จำเป็นต้องเปลี่ยนข้อความที่คอมมิตก่อนหรือหลังการเผยแพร่ที่เก็บ ผู้ใช้ต้องเขียนประวัติ git ใหม่เพื่อเปลี่ยนการคอมมิตที่เก่ากว่าหรือใหม่กว่าของที่เก็บ NS -แก้ไข ตัวเลือกใช้กับ ` git คอมมิท ` คำสั่งเพื่อเขียนประวัติ git ใหม่ บทช่วยสอนนี้จะอธิบายวิธีที่ตัวเลือกนี้สามารถนำไปใช้กับที่เก็บ git แบบโลคัลและรีโมตเพื่อเปลี่ยนข้อความคอมมิต git หรือ git คอมมิท

ข้อกำหนดเบื้องต้น:

ติดตั้ง GitHub Desktop

GitHub Desktop ช่วยให้ผู้ใช้ git ทำงานที่เกี่ยวข้องกับ git แบบกราฟิก คุณสามารถดาวน์โหลดตัวติดตั้งล่าสุดของแอปพลิเคชันนี้สำหรับ Ubuntu ได้อย่างง่ายดายจาก github.com คุณต้องติดตั้งและกำหนดค่าแอปพลิเคชันนี้หลังจากดาวน์โหลดเพื่อใช้งาน คุณยังสามารถตรวจสอบบทช่วยสอนสำหรับการติดตั้ง GitHub Desktop บน Ubuntu เพื่อทราบขั้นตอนการติดตั้งอย่างถูกต้อง







สร้างบัญชี GitHub

คุณจะต้องสร้างบัญชี GitHub เพื่อตรวจสอบผลลัพธ์ของคำสั่งในเซิร์ฟเวอร์ระยะไกล



สร้างที่เก็บโลคัลและรีโมต

คุณต้องสร้างที่เก็บในเครื่องและเผยแพร่ที่เก็บในเซิร์ฟเวอร์ระยะไกลเพื่อทดสอบคำสั่งที่ใช้ในบทช่วยสอนนี้ ไปที่โฟลเดอร์ที่เก็บในเครื่องเพื่อตรวจสอบคำสั่งที่ใช้ในบทช่วยสอนนี้



เปลี่ยนการคอมมิตล่าสุด:

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





$git คอมมิท

ผลลัพธ์ต่อไปนี้แสดงว่ามีไฟล์ที่ไม่ได้ติดตามสองไฟล์ชื่อ booklist.php และ ประเภทหนังสือ.php



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

$git addbooklist.php

$git คอมมิท -NS 'เพิ่มไฟล์รายการหนังสือแล้ว'

$git addbooktype.php

$git คอมมิท -NS 'เพิ่มไฟล์ประเภทหนังสือแล้ว'

$git คอมมิท

ผลลัพธ์ต่อไปนี้แสดงให้เห็นว่า booklist.php และ booktype.php ไฟล์จะถูกเพิ่มด้วยข้อความยืนยัน ถัดไป เมื่อผลลัพธ์ของคำสั่ง commit แสดงว่าแผนผังการทำงานนั้นสะอาด

คุณสามารถเปลี่ยนข้อความยืนยันล่าสุดได้โดยใช้ตัวแก้ไขหรือดำเนินการคำสั่งของเทอร์มินัล เรียกใช้ ` . ต่อไปนี้ git คอมมิท `สั่งกับ -แก้ไข ตัวเลือกในการเปลี่ยนข้อความยืนยันล่าสุดโดยใช้โปรแกรมแก้ไขข้อความ

$git คอมมิท --แก้ไข

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

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

$git คอมมิท --แก้ไข -NS 'ไฟล์ประเภทหนังสือมีการเปลี่ยนแปลงอีกครั้ง'

ผลลัพธ์แสดงว่าข้อความยืนยันล่าสุดเปลี่ยนเป็น ไฟล์ประเภทหนังสือมีการเปลี่ยนแปลงอีกครั้ง

เปลี่ยนการคอมมิตเก่า:

คอมมิทที่เก่ากว่าหรือคอมมิทหลายตัวสามารถเปลี่ยนแปลงได้โดยใช้คำสั่ง `git rebase` และ `git commit –amend` คำสั่ง rebase ใช้เพื่อเขียนประวัติการคอมมิตใหม่ แต่ไม่แนะนำให้ใช้กับคอมมิตที่เผยแพร่แล้วบนเซิร์ฟเวอร์ระยะไกล คำสั่ง rebase ใช้กับจำนวนของคอมมิตเพื่อเปลี่ยนคอมมิตหลาย ๆ คอมไพล์ รันคำสั่งต่อไปนี้เพื่อเปลี่ยนข้อความยืนยันสองข้อความสุดท้าย ตัวแก้ไขจะเปิดขึ้นพร้อมกับข้อความยืนยันสองข้อความสุดท้ายหลังจากดำเนินการคำสั่ง

$git rebase -ผมหัว~2

เอาต์พุตต่อไปนี้แสดงข้อความยืนยันสองข้อความสุดท้ายของที่เก็บพร้อมคอมมิตค่า SHA

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

สามารถเปลี่ยนข้อความยืนยันจากตัวแก้ไขได้ทันที นี่ข้อความว่า เพิ่มไฟล์รายการหนังสือแล้ว . ได้เปลี่ยนเป็น ไฟล์รายการหนังสือมีการเปลี่ยนแปลง

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

เพิ่มการเปลี่ยนแปลงในการคอมมิตล่าสุด:

สมมุติว่า booklist.php ไฟล์ได้รับการแก้ไขหลังจากส่งไปยังที่เก็บ ตอนนี้ ให้รันคำสั่งต่อไปนี้เพื่อเพิ่มไฟล์อีกครั้งและเปลี่ยนข้อความยืนยันสำหรับการเพิ่มนี้โดยใช้คำสั่ง ` git คอมมิท `สั่งกับ -แก้ไข ตัวเลือก.

$git addbooklist.php

$git คอมมิท --แก้ไข -NS 'ไฟล์รายการหนังสือได้รับการอัปเดตแล้ว'

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากดำเนินการคำสั่งข้างต้น

หากคุณไม่ต้องการเปลี่ยนข้อความยืนยันก่อนหน้าหลังจากเพิ่มไฟล์อีกครั้ง คุณต้องใช้ตัวเลือก –no-edit กับ -แก้ไข ตัวเลือกด้วย ` git คอมมิท `คำสั่ง คำสั่งต่อไปนี้จะเพิ่มไฟล์ที่แก้ไขไปยังที่เก็บโดยไม่ต้องเปลี่ยนข้อความยืนยัน

$git คอมมิท --แก้ไข --no-edit

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

บทสรุป:

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