Android

Bagaimana untuk menukar mesej git komit

#3 GitLab Dasar - Cara Clone, Add, Commit dan Push dengan menggunakan Visual Studio Code

#3 GitLab Dasar - Cara Clone, Add, Commit dan Push dengan menggunakan Visual Studio Code

Isi kandungan:

Anonim

Apabila bekerja dengan Git, anda mungkin menghadapi situasi di mana anda perlu mengedit mesej komit. Terdapat beberapa sebab mengapa anda ingin membuat perubahan, seperti menetapkan kesilapan menaip, mengeluarkan maklumat sensitif, atau menambah maklumat tambahan.

Panduan ini menerangkan cara menukar mesej yang dibuat oleh Git yang paling baru atau lebih tua.

Menukar Komitmen Terkini

git commit --amend arahan arahan membolehkan anda menukar mesej komitmen terbaru.

Tidak menolak komitmen

Untuk menukar mesej komit terkini yang tidak ditolak ke repositori jauh, komitkan lagi menggunakan bendera - tanda.

  1. Navigasi ke direktori repositori di terminal anda.

    Jalankan arahan berikut untuk meminda (menukar) mesej komitmen terkini:

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

    Apa yang dilakukan oleh perintah itu adalah menimpa komit yang paling baru dengan yang baru.

    Pilihan -m membolehkan anda menulis mesej baru pada baris arahan tanpa membuka sesi editor.

Sebelum menukar mesej komit, anda juga boleh menambah perubahan lain yang anda terlupa sebelum ini:

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

Menolak komitmen

Yang dipinda (berubah) adalah entiti baru dengan SHA-1 yang berbeza. Komitmen sebelumnya tidak lagi wujud dalam cawangan semasa.

Umumnya, anda harus mengelak daripada mengubah komitmen yang telah ditolak kerana ia boleh menyebabkan masalah kepada orang yang berdasarkan kerja mereka terhadap komit ini. Adalah idea yang baik untuk berunding dengan rakan-rakan pemaju anda sebelum menukar komitmen yang ditolak.

  1. Navigasi ke repositori.

    Mengubah mesej komitmen yang ditolak terkini:

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

    Tekan tolak untuk mengemas kini sejarah repositori jauh:

    git push --force branch-name

Menukar Komitmen Lebih Lama atau Pelbagai

Perintah rebase menulis semula sejarah komit, dan ia sangat tidak digalakkan untuk membatalkan tindakan yang telah ditolak ke repositori Git jauh.

  1. Navigasi ke repositori yang mengandungi mesej komit yang ingin anda ubah.

    Taip git rebase -i HEAD~N , di mana N adalah bilangan komitmen untuk melakukan rebase. Contohnya, jika anda mahu menukar ke-4 dan ke-5 yang terbaru anda akan menaip:

    git rebase -i HEAD~5

    Perintah akan memaparkan X terbaharu dalam editor teks lalai anda:

    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)

    Pindah ke garisan mesej komit yang ingin anda ubah dan gantikan pick dengan 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)

    Simpan perubahan dan tutup editor.

    Untuk setiap komit yang dipilih, tetingkap editor teks baru akan dibuka. Tukar mesej komit, simpan fail dan tutup editor.

    fix: update dependency json5 to ^2.1.1

    Angkatan menolak perubahan pada repositori jauh:

    git push --force branch-name

Kesimpulannya

Untuk menukar mesej komitmen terbaru, gunakan git commit --amend arahan dan untuk menukar mesej komit yang lebih lama atau berbilang menggunakan git rebase -i HEAD~N

Jangan pindahkan komitmen kerana ia berpotensi menyebabkan banyak masalah kepada rakan sekerja anda.