Android

วิธีการเปลี่ยนคอมมิตข้อความ

विदà¥?र: ये ६ लोग जीवनà¤à¤° दà¥?ःख और दरà¥?द हà¥

विदà¥?र: ये ६ लोग जीवनà¤à¤° दà¥?ःख और दरà¥?द हà¥

สารบัญ:

Anonim

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

คู่มือนี้จะอธิบายวิธีการเปลี่ยนข้อความของคอมมิทล่าสุดหรือเก่ากว่าที่คอมมิท

เปลี่ยนการกระทำล่าสุด

คำสั่ง git commit --amend อนุญาตให้คุณเปลี่ยนข้อความคอมมิทล่าสุด

ไม่ผลักดัน

หากต้องการเปลี่ยนข้อความของการส่งข้อความล่าสุดที่ยังไม่ได้ส่งไปยังที่เก็บข้อมูลระยะไกลให้ส่งข้อมูลอีกครั้งโดยใช้ --amend flag

  1. นำทางไปยังไดเรกทอรีที่เก็บข้อมูลในเทอร์มินัลของคุณ

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

    git commit --amend -m "New commit message."

    สิ่งที่คำสั่งทำคือเขียนทับการคอมมิตล่าสุดด้วยคำสั่งใหม่

    อ็อพชัน -m อนุญาตให้คุณเขียนข้อความใหม่บนบรรทัดรับคำสั่งโดยไม่เปิดเซสชันเอดิเตอร์

ก่อนที่จะเปลี่ยนข้อความการส่งคุณยังสามารถเพิ่มการเปลี่ยนแปลงอื่น ๆ ที่คุณลืมไปก่อนหน้านี้:

git add. git commit --amend -m "New commit message."

มุ่งมั่นที่จะผลักดัน

คอมมิชชันที่แก้ไขแล้ว (เปลี่ยนแปลง) เป็นเอนทิตีใหม่ที่มี SHA-1 ที่แตกต่างกัน การกระทำก่อนหน้านี้จะไม่มีอยู่ในสาขาปัจจุบันอีกต่อไป

โดยทั่วไปคุณควรหลีกเลี่ยงการแก้ไขคำมั่นสัญญาที่ผลักไปแล้วเนื่องจากอาจทำให้เกิดปัญหากับคนที่ยึดงานของเขาในการกระทำนี้ เป็นความคิดที่ดีที่จะปรึกษานักพัฒนาเพื่อนของคุณก่อนที่จะเปลี่ยนการมอบหมาย

  1. นำทางไปยังที่เก็บ

    แก้ไขข้อความของข้อความที่ส่งล่าสุด:

    git commit --amend -m "New commit message."

    บังคับให้กดเพื่ออัปเดตประวัติของที่เก็บระยะไกล:

    git push --force branch-name

การเปลี่ยนคำสั่งเก่าหรือหลายรายการ

คำสั่ง rebase เขียนประวัติการคอมมิทซ้ำและไม่แนะนำให้ทำการรีบูตคอมมิชชันที่ถูกพุชไปยังที่เก็บ Git ระยะไกลแล้ว

  1. นำทางไปยังที่เก็บที่มีข้อความการส่งที่คุณต้องการเปลี่ยน

    พิมพ์ git rebase -i HEAD~N โดยที่ N คือจำนวนการคอมมิทเพื่อทำการ rebase ตัวอย่างเช่นหากคุณต้องการเปลี่ยนการมอบหมายครั้งที่ 4 และครั้งที่ 5 คุณจะต้องพิมพ์:

    git rebase -i HEAD~5

    คำสั่งจะแสดงการคอมมิต X ล่าสุดในเท็กซ์เอดิเตอร์เริ่มต้นของคุณ:

    pick 43f8707f9 fix: update dependency json5 to ^2.1.1 pick cea1fb88a fix: update dependency verdaccio to ^4.3.3 pick aa540c364 fix: update dependency webpack-dev-server to ^3.8.2 pick c5e078656 chore: update dependency flow-bin to ^0.109.0 pick 11ce0ab34 fix: Fix spelling. # Rebase 7e59e8ead..11ce0ab34 onto 7e59e8ead (5 commands)

    ย้ายไปที่บรรทัดของข้อความยืนยันที่คุณต้องการเปลี่ยนและแทนที่การ pick ด้วย reword :

    reword 43f8707f9 fix: update dependency json5 to ^2.1.1 reword cea1fb88a fix: update dependency verdaccio to ^4.3.3 pick aa540c364 fix: update dependency webpack-dev-server to ^3.8.2 pick c5e078656 chore: update dependency flow-bin to ^0.109.0 pick 11ce0ab34 fix: Fix spelling. # Rebase 7e59e8ead..11ce0ab34 onto 7e59e8ead (5 commands)

    บันทึกการเปลี่ยนแปลงและปิดตัวแก้ไข

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

    fix: update dependency json5 to ^2.1.1

    บังคับผลักดันการเปลี่ยนแปลงไปยังที่เก็บระยะไกล:

    git push --force branch-name

ข้อสรุป

หากต้องการเปลี่ยนข้อความการส่งล่าสุดให้ใช้คำสั่ง git commit --amend และเพื่อเปลี่ยนข้อความการส่งข้อความที่เก่ากว่าหรือหลายรายการให้ใช้ git rebase -i HEAD~N

อย่าแก้ไขข้อผูกมัดเนื่องจากอาจทำให้เกิดปัญหามากมายกับเพื่อนร่วมงานของคุณ