Saya menulis hal yang salah dalam pesan komit.
Bagaimana saya bisa mengubah pesan? Komit belum didorong.
git
git-commit
git-rewrite-history
amend
Laurie Young
sumber
sumber
Jawaban:
Mengubah pesan komit terbaru
akan membuka editor Anda, memungkinkan Anda untuk mengubah pesan komit dari komit terbaru. Selain itu, Anda dapat mengatur pesan komit langsung di baris perintah dengan:
... Namun, ini dapat membuat pesan komit multi-baris atau koreksi kecil lebih rumit untuk dimasukkan.
Pastikan Anda tidak memiliki perubahan copy pekerjaan yang dipentaskan sebelum melakukan ini atau mereka akan berkomitmen juga. ( Perubahan yang tidak dipentaskan tidak akan dikomit.)
Mengubah pesan komit yang sudah Anda push ke cabang jauh Anda
Jika Anda sudah mendorong komit ke cabang jarak jauh Anda, maka - setelah mengubah komit Anda secara lokal (seperti dijelaskan di atas) - Anda juga harus memaksa mendorong komit dengan:
Peringatan: mendorong secara paksa akan menimpa cabang jarak jauh dengan keadaan cabang lokal Anda . Jika ada komit di cabang jarak jauh yang tidak Anda miliki di cabang lokal Anda, Anda akan kehilangan komit itu.
Peringatan: berhati-hatilah untuk mengubah komitmen yang telah Anda bagikan dengan orang lain. Amending berkomitmen pada dasarnya menulis ulang mereka untuk memiliki ID SHA yang berbeda , yang menimbulkan masalah jika orang lain memiliki salinan komitmen lama yang telah Anda tulis ulang. Siapa pun yang memiliki salinan komit lama perlu menyinkronkan pekerjaan mereka dengan komit baru Anda yang ditulis ulang, yang kadang-kadang bisa sulit, jadi pastikan Anda berkoordinasi dengan orang lain ketika mencoba untuk menulis ulang riwayat komitmen bersama, atau hanya menghindari penulisan ulang komitmen bersama sama sekali.
Lakukan rebase interaktif
Pilihan lain adalah menggunakan rebase interaktif. Ini memungkinkan Anda untuk mengedit pesan apa pun yang ingin Anda perbarui walaupun itu bukan pesan terbaru.
Untuk melakukan Git squash, ikuti langkah-langkah ini:
Setelah Anda menekan komitmen Anda - pilih
e/r
untuk mengedit pesan:Catatan penting tentang rebase interaktif
Saat Anda menggunakan
git rebase -i HEAD~n
mungkin ada lebih dari n komit. Git akan "mengumpulkan" semua komit di n komit terakhir, dan jika ada penggabungan di antara rentang itu Anda akan melihat semua komit juga, sehingga hasilnya adalah n +.Tip yang bagus:
Jika Anda harus melakukannya selama lebih dari satu cabang dan Anda mungkin menghadapi konflik saat mengubah konten, atur
git rerere
dan biarkan Git menyelesaikan konflik tersebut secara otomatis untuk Anda.Dokumentasi
git-commit (1) Halaman Manual
git-rebase (1) Halaman Manual
git-push (1) Halaman Manual
sumber
git commit --amend
tidak sekuatgit rebase -i
.git commit --amend
dapat memperbaiki (a?) Master komit.git push -f origin branchname
git push -f
sedikit berbahaya jika orang lain menggunakan repositori yang sama?git commit --amend -c HEAD
. Ini akan membuka editor yang sudah diisi sebelumnya dengan pesan komit lama Anda, sehingga Anda dapat mengubahnya.sumber
Jika komit yang ingin Anda perbaiki bukan yang terbaru:
git rebase --interactive $parent_of_flawed_commit
Jika Anda ingin memperbaiki beberapa komit yang cacat, berikan induk dari yang tertua.
Editor akan muncul, dengan daftar semua komitmen sejak yang Anda berikan.
pick
kereword
(atau pada Git versi lama, menjadiedit
) di depan setiap komit yang ingin Anda perbaiki.Untuk setiap komit Anda ingin reword , Git akan menjatuhkan Anda kembali ke editor Anda. Untuk setiap komit yang ingin Anda edit , Git menjatuhkan Anda ke dalam shell. Jika Anda berada di shell:
git commit --amend
git rebase --continue
Sebagian besar urutan ini akan dijelaskan kepada Anda oleh output dari berbagai perintah saat Anda pergi. Sangat mudah; Anda tidak perlu mengingatnya - ingat saja bahwa
git rebase --interactive
Anda dapat melakukan komitmen tidak peduli berapa lama mereka melakukannya.Perhatikan bahwa Anda tidak ingin mengubah komit yang sudah Anda tekan. Atau mungkin Anda lakukan, tetapi dalam hal ini Anda harus sangat berhati-hati untuk berkomunikasi dengan semua orang yang mungkin telah menarik komitmen Anda dan melakukan pekerjaan di atas mereka. Bagaimana saya memulihkan / menyinkronkan kembali setelah seseorang mendorong rebase atau reset ke cabang yang diterbitkan?
sumber
reword
di tempatpick
untuk mengedit pesan log.$parent_of_flawed_commit
setara dengan$flawed_commit^
.-p
(--preserve-merges
) jika ada gabungan setelah komit cacat.Untuk mengubah komit sebelumnya, buat perubahan yang Anda inginkan dan lakukan perubahan tersebut, lalu jalankan
Ini akan membuka file di editor teks Anda yang mewakili pesan komit baru Anda. Itu dimulai diisi dengan teks dari pesan komit lama Anda. Ubah pesan komit seperti yang Anda inginkan, lalu simpan file dan keluar dari editor Anda untuk menyelesaikan.
Untuk mengubah komit sebelumnya dan menyimpan pesan log yang sama, jalankan
Untuk memperbaiki komit sebelumnya dengan menghapus seluruhnya, jalankan
Jika Anda ingin mengedit lebih dari satu pesan komit, jalankan
(Ganti commit_count dengan jumlah komit yang ingin Anda edit.) Perintah ini meluncurkan editor Anda. Tandai komit pertama (yang ingin Anda ubah) sebagai "edit" dan bukan "pilih", lalu simpan dan keluar dari editor Anda. Buat perubahan yang ingin Anda komit dan kemudian jalankan
Catatan: Anda juga dapat "Membuat perubahan yang Anda inginkan" dari editor yang dibuka oleh
git commit --amend
sumber
git rebase -i HEAD~commit_count
juga akan memungkinkan Anda untuk mengubah pesan komit dari banyak komitmen yang Anda pilih. Tandai saja komit yang dipilih sebagai "reword", bukan "pick".git reset --hard
memusnahkan perubahan yang tidak dikomit. Silakan ganti--hard
dengan--soft
.git reset --hard
adalah perintah yang sepenuhnya sah, tetapi menyesatkan karena diberi pertanyaan. Anda menggunakan--hard
jika Anda melakukan perubahan yang ingin Anda buang, bukan jika Anda salah ketik dalam pesan komit!Seperti yang telah disebutkan,
git commit --amend
adalah cara untuk menimpa komit terakhir. Satu catatan: jika Anda ingin juga menimpa file , perintahnya adalahsumber
git add file.ext
kemudian hanyagit commit --amend
Anda juga bisa menggunakannya
git filter-branch
untuk itu.Ini tidak semudah yang sepele
git commit --amend
, tetapi sangat berguna, jika Anda sudah memiliki beberapa penggabungan setelah pesan komit yang salah.Perhatikan bahwa ini akan mencoba untuk menulis ulang setiap komit di antara
HEAD
dan komit yang cacat, jadi Anda harus memilihmsg-filter
perintah Anda dengan sangat bijaksana ;-)sumber
$flawed_commit^..HEAD
, bukan$flawed_commit..HEAD
. seperti yang dinyatakan oleh halaman manual: « Perintah hanya akan menulis ulang referensi positif yang disebutkan dalam baris perintah (misalnya jika Anda melewati a..b, hanya b yang akan ditulis ulang). »Saya lebih suka cara ini:
Jika tidak, akan ada komit baru dengan ID komit baru.
sumber
-c
melakukan beberapa hal. Ini menggunakan pesan lama secara default, tetapi juga menyalin informasi kepengarangan (orang dan waktu).-C
melakukan hal yang sama kecuali itu tidak meminta Anda untuk mengedit pesan.fatal: Option -m cannot be combined with -c/-C/-F/--fixup.
Jika Anda menggunakan alat Git GUI, ada tombol bernama Amend commit terakhir . Klik tombol itu dan kemudian akan menampilkan file dan pesan komit terakhir Anda. Cukup edit pesan itu, dan Anda bisa mengkomitnya dengan pesan komit baru.
Atau gunakan perintah ini dari konsol / terminal:
sumber
Anda bisa menggunakan Git rebasing . Misalnya, jika Anda ingin memodifikasi kembali untuk melakukan bbc643cd, jalankan
Di editor default, ubah 'pilih' menjadi 'edit' di baris yang komitnya ingin Anda ubah. Buat perubahan Anda dan kemudian panggungkan dengan
Sekarang kamu bisa menggunakannya
untuk memodifikasi komit, dan setelah itu
untuk kembali ke komit kepala sebelumnya.
sumber
git commit --amend
pengaruh Anda dapat menggunakangit show
dan itu akan menampilkan pesan baru.Jika Anda hanya ingin mengubah pesan komit terakhir Anda, maka lakukan:
Itu akan menjatuhkan Anda ke editor teks Anda dan memungkinkan Anda mengubah pesan komit terakhir.
Jika Anda ingin mengubah tiga terakhir komit pesan, atau salah satu pesan komit sampai saat itu, pasokan
HEAD~3
kegit rebase -i
perintah:sumber
git commit --amend
, dan juga mengatakan bahwa Anda dapat menggunakangit rebase -i HEAD~commit_count
, semua yang Anda lakukan adalah plug in3
untukcommit_count
.Jika Anda harus mengubah pesan komit lama melalui beberapa cabang (yaitu, komit dengan pesan salah hadir di beberapa cabang) Anda mungkin ingin menggunakan:
Git akan membuat direktori sementara untuk menulis ulang dan juga membackup referensi lama di
refs/original/
.-f
akan menegakkan pelaksanaan operasi. Ini diperlukan jika direktori sementara sudah ada atau jika sudah ada referensi yang disimpan di bawahrefs/original
. Jika bukan itu masalahnya, Anda dapat menjatuhkan bendera ini.--
memisahkan opsi cabang-filter dari opsi revisi.--all
akan memastikan bahwa semua cabang dan tag ditulis ulang.Karena cadangan referensi lama Anda, Anda dapat dengan mudah kembali ke keadaan sebelum menjalankan perintah.
Katakanlah, Anda ingin memulihkan master Anda dan mengaksesnya di cabang
old_master
:sumber
git commit --amend
untuk memperbaiki komentar atau menambahkan file saya lupagit add
, tapi hanya pernah sebelumnya saya sudahgit push
ed. Saya juga menggunakangit filter-branch
ketika saya benar-benar ingin mengacaukan riwayat versi, tetapi OP tidak menginginkan ini, jadi jawaban ini membutuhkan peringatan kesehatan yang besar - jangan coba ini di rumah, intip !!Menggunakan
Untuk memahaminya secara rinci, pos yang sangat baik adalah 4. Menulis Ulang Sejarah Git . Ini juga berbicara tentang kapan tidak digunakan
git commit --amend
.sumber
git commit --amend
jawaban sudah diberikan (beberapa kali) sebelum Anda menulis Anda. Mengapa Anda mempostingnya lagi? Jika Anda ingin menambahkan tautan ke "Riwayat Penulisan Ulang Git" Anda bisa mengedit salah satu jawaban yang ada, atau meninggalkan komentar.Mengubah
Anda memiliki beberapa opsi di sini. Anda dapat melakukan
selama ini komit terakhir Anda.
Rebase interaktif
Jika tidak, jika itu bukan komit terakhir Anda, Anda dapat melakukan rebase interaktif,
Kemudian di dalam rebase interaktif Anda cukup menambahkan edit ke komit itu. Ketika muncul, lakukan
git commit --amend
dan ubah pesan komit. Jika Anda ingin mundur sebelum komit itu, Anda juga bisa menggunakangit reflog
dan menghapus komit itu. Kemudian Anda lakukangit commit
lagi.sumber
Jika ini adalah komit terakhir Anda, ubah saja komit:
(Menggunakan bendera
-o
(--only
) untuk memastikan Anda hanya mengubah pesan komit)Jika itu adalah komit yang dikubur, gunakan rebase interaktif yang mengagumkan :
Temukan komit yang Anda inginkan, ubah
pick
ker
(reword
), dan simpan dan tutup file. Selesai!Tutorial Miniatur Vim (atau, cara rebase hanya dengan 8 kali penekanan tombol
3j
cw
r
EscZZ
):vimtutor
jika Anda punya waktuh
j
k
l
sesuai dengan tombol gerakan ←↓↑→3j
Bergerak turun tiga barisi
untuk masuk ke mode penyisipan - teks yang Anda ketik akan muncul di filec
untuk keluar dari mode penyisipan dan kembali ke mode "normal"u
untuk membatalkanr
untuk mengulangdd
,dw
,dl
Untuk menghapus garis, kata, atau huruf, masing-masingcc
,cw
,cl
Untuk mengubah garis, kata, atau huruf, masing-masing (sama sepertidd
i
)yy
,yw
,yl
Untuk menyalin ( "yank") baris, kata, atau huruf, masing-masingp
atauP
menempel masing-masing setelah, atau sebelum posisi saat ini:w
Enter untuk menyimpan (menulis) file:q!
Enter untuk berhenti tanpa menyimpan:wq
EnteratauZZ
untuk menyimpan dan keluarJika Anda sering mengedit teks, maka beralihlah ke tata letak keyboard Dvorak , belajar mengetik, dan belajar Vim. Apakah ini sepadan dengan usaha? Iya.
ProTip ™: Jangan takut untuk bereksperimen dengan perintah "berbahaya" yang menulis ulang riwayat * - Git tidak menghapus komit Anda selama 90 hari secara default; Anda dapat menemukannya di reflog:
* Hati-hati dengan opsi seperti
--hard
dan--force
meskipun - mereka dapat membuang data. * Juga, jangan menulis ulang sejarah di cabang mana pun Anda berkolaborasi.sumber
nano
? Kita sedang berbicara tentang modifikasi sepele yang perlu dibuat ke file teks, bukan pengkodean hardcore yang akan menghasilkan perang api tentang editor teks "terbaik".ddjjpZZ
memindahkan komit 2 ke bawah. Tidak ada yang aneh tentang pengetahuan Vim dasar; dibutuhkan 10 menit untuk menjadi lebih nyaman dengan Vim daripada nano.Jika Anda menggunakan Git GUI, Anda dapat mengubah komit terakhir yang belum didorong dengan:
sumber
Saya menggunakan Git GUI sebanyak yang saya bisa, dan itu memberi Anda opsi untuk mengubah komit terakhir:
Juga,
git rebase -i origin/master
adalah mantra yang bagus yang akan selalu memberi Anda komitmen yang telah Anda lakukan di atas master, dan memberi Anda opsi untuk mengubah, menghapus, memesan ulang, atau squash. Tidak perlu menghubungi hash itu terlebih dahulu.sumber
Wow, jadi ada banyak cara untuk melakukan ini.
Namun cara lain untuk melakukan ini adalah dengan menghapus komit terakhir, tetapi simpan perubahannya sehingga Anda tidak akan kehilangan pekerjaan Anda. Anda kemudian dapat melakukan komit lain dengan pesan yang diperbaiki. Ini akan terlihat seperti ini:
Saya selalu melakukan ini jika saya lupa menambahkan file atau melakukan perubahan.
Ingatlah untuk menentukan
--soft
alih-alih--hard
, jika tidak, Anda akan kehilangan komit sepenuhnya.sumber
git commit --amend
kecuali bahwa itu adalah proses 2 langkah.--amend
akan menyimpan informasi penulis, tetapi pertanyaannya hanya meminta untuk mengubah pesan.Bagi siapa pun yang mencari Windows / Mac GUI untuk membantu mengedit pesan lama (yaitu bukan hanya pesan terbaru), saya akan merekomendasikan Sourcetree . Langkah-langkah untuk diikuti di bawah ini.
Untuk komit yang belum didorong ke remote:
Unable to create 'project_path/.git/index.lock': File exists.
ketika mencoba mengubah beberapa pesan komit pada saat yang bersamaan. Tidak yakin persis apa masalahnya, atau apakah akan diperbaiki dalam versi Sourcetree yang akan datang, tetapi jika ini terjadi akan merekomendasikan untuk mengembalikannya satu per satu (lebih lambat tetapi tampaknya lebih dapat diandalkan).... Atau ... untuk komitmen yang sudah didorong:
Ikuti langkah-langkah dalam jawaban ini , yang mirip dengan di atas, tetapi memerlukan perintah lebih lanjut untuk dijalankan dari baris perintah (
git push origin <branch> -f
) untuk memaksa-mendorong cabang. Saya akan merekomendasikan membaca semuanya dan menerapkan kehati-hatian yang diperlukan!sumber
Jika Anda hanya ingin mengedit komit terbaru, gunakan:
atau
Tetapi jika Anda ingin mengedit beberapa komit berturut-turut, Anda harus menggunakan rebasing sebagai gantinya:
Dalam sebuah file, seperti yang di atas, tulis
edit/e
atau salah satu opsi lain, dan tekan save and exit.Sekarang Anda akan berada di komit yang salah pertama. Buat perubahan pada file, dan mereka akan secara otomatis dipentaskan untuk Anda. Tipe
Simpan dan keluar dan ketik
untuk pindah ke pilihan berikutnya sampai selesai dengan semua pilihan Anda.
Perhatikan bahwa hal-hal ini mengubah semua hash SHA Anda setelah komit tertentu.
sumber
Jika Anda hanya ingin mengubah pesan terakhir Anda, Anda harus menggunakan
--only
bendera atau pintasannya-o
dengancommit --amend
:Ini memastikan bahwa Anda tidak secara tidak sengaja meningkatkan komitmen Anda dengan hal-hal yang dipentaskan. Tentu saja yang terbaik adalah memiliki
$EDITOR
konfigurasi yang tepat . Kemudian Anda dapat meninggalkan-m
opsi keluar, dan Git akan mengisi awal pesan komit dengan yang lama. Dengan cara ini dapat diedit dengan mudah.sumber
git commit --amend
. Pertanyaannya sangat spesifik, karena itu lebih lama! = Lebih baik. Penyebutan-o
bendera yang tegas mungkin akan dimakamkan di sisa informasi. Saya juga tidak nyaman mengedit jawaban yang sudah memiliki banyak suara.--only
opsi dengan--amend
tersedia sejak git 1.3.0 itu tidak bekerja dengan benar sampai diperbaiki di 1.7.11.3 ( ea2d4ed35902ce15959965ab86d80527731a177c ). Jadi jawaban bek kanan pada tahun 2008 mungkin akan menjadi sesuatu seperti:git stash; git commit --amend; git stash pop
.Perbarui pesan komit terakhir yang salah dengan pesan komit baru dalam satu baris:
Atau, coba Git reset seperti di bawah ini:
Menggunakan reset untuk membagi komit menjadi komit yang lebih kecil
git reset
dapat membantu Anda membagi satu komit menjadi beberapa komit juga:Di sini Anda telah berhasil membagi komit terakhir Anda menjadi dua komit.
sumber
git commit --amend
, persis seperti yang dikatakan di bagian atas pilih jawaban . Selain itu,git reset --soft HEAD^
berfungsi secara identik dengan pengaturan ulang lunak dalam jawaban sebelumnya , karena mereka mengatur ulang kembali ke komit induk pertama.git reset
solusi hanya untuk memberikan ide untuk membagi satu pesan komit menjadi beberapa pesan komit. Karena, saya telah menghadapi masalah itu ketika, saya mulai menggunakannyagit
. Terkadang, ini bisa sangat membantu. :)Pada pertanyaan ini ada banyak jawaban, tetapi tidak satupun dari mereka menjelaskan dengan sangat rinci bagaimana mengubah pesan komit yang lebih lama menggunakan Vim . Saya terjebak mencoba melakukan ini sendiri, jadi di sini saya akan menuliskan secara rinci bagaimana saya melakukan ini terutama untuk orang-orang yang tidak memiliki pengalaman dalam Vim!
Saya ingin mengubah lima komit terbaru yang sudah saya dorong ke server. Ini cukup 'berbahaya' karena jika orang lain sudah menarik dari ini, Anda dapat mengacaukan semuanya dengan mengubah pesan komit. Namun, ketika Anda mengerjakan cabang kecil Anda sendiri dan yakin tidak ada yang menariknya, Anda bisa mengubahnya seperti ini:
Katakanlah Anda ingin mengubah lima commit terakhir Anda, dan kemudian Anda ketik ini di terminal:
* Di mana 5 adalah jumlah pesan komit yang ingin Anda ubah (jadi jika Anda ingin mengubah 10 komit terakhir, Anda ketikkan 10).
Perintah ini akan membawa Anda ke Vim di sana Anda dapat 'mengedit' riwayat komit Anda. Anda akan melihat lima komit terakhir di atas seperti ini:
Alih-alih
pick
Anda perlu menulisreword
. Anda dapat melakukan ini di Vim dengan mengetiki
. Itu membuat Anda masuk ke mode insert . (Anda melihat bahwa Anda sedang dalam mode insert dengan kata INSERT di bagian bawah.) Untuk komit Anda ingin perubahan, ketikreword
bukannyapick
.Maka Anda perlu menyimpan dan keluar dari layar ini. Anda melakukannya dengan terlebih dahulu masuk ke 'mode-perintah' dengan menekan Esctombol (Anda dapat memeriksa bahwa Anda berada dalam mode-perintah jika kata Sisipkan di bagian bawah telah hilang). Kemudian Anda bisa mengetikkan perintah dengan mengetik
:
. Perintah untuk menyimpan dan keluar adalahwq
. Jadi, jika Anda mengetik:wq
Anda berada di jalur yang benar.Kemudian Vim akan membahas setiap pesan komit yang ingin Anda ulang, dan di sini Anda benar-benar dapat mengubah pesan komit. Anda akan melakukan ini dengan masuk ke mode penyisipan, mengubah pesan komit, masuk ke mode-perintah, dan menyimpan dan keluar. Lakukan ini lima kali dan Anda kehabisan Vim!
Kemudian, jika Anda sudah mendorong komitmen yang salah, Anda harus
git push --force
menimpanya. Ingatlah bahwa itugit push --force
adalah hal yang cukup berbahaya untuk dilakukan, jadi pastikan tidak ada yang menarik dari server karena Anda salah menekan komitmen!Sekarang Anda telah mengubah pesan komit Anda!
(Seperti yang Anda lihat, saya tidak berpengalaman dalam Vim, jadi jika saya menggunakan 'istilah' yang salah untuk menjelaskan apa yang terjadi, jangan ragu untuk mengoreksi saya!)
sumber
<nitpick>
Tidak ada "utas" di Stack Overflow, karena ini bukan forum diskusi, hanya ada "pertanyaan", "jawaban", dan "pos".</nitpick>
. Juga, tidak semua versi Vim sama, tidak semua versi akan membiarkan Anda menghapus karakter dalam mode penyisipan (masuk akal, kan?). Jika Anda ingin selalu dapat menghapus karakter di Vim,X
danx
akan melakukannya (sedikitx
menghapus karakter di depan kursor,X
akan menghapus di belakang). Jika Anda melakukan kesalahan, Anda dapat menggunakanu
berulang kali untuk membatalkan. Akhirnya,r
adalah singkatan untukreword
editor rebase interaktif.cw
diketik di awal (meskipun pertanyaannya bukan tentang vim, saya setuju).nano
atau mcedit Midnight Commander.Anda dapat menggunakan git-rebase-reword
Ini dirancang untuk mengedit komit (tidak hanya bertahan) dengan cara yang sama
commit --amend
Itu dinamai setelah aksi rebase interaktif untuk mengubah komit: "reword". Lihat posting ini dan pria -bagian mode-interaktif
Contoh:
sumber
g c; g rb -i @~9
(komit dan rebase), pindahkan komit baru ke tempat yang saya inginkan, ubahcommit
kef
(fixup
), dan simpan. Jika Anda menginginkan sesuatu yang lebih cepat dari itu, Anda bisa aliasgit commit --fixup=<commit>; git rebase -i --autosquash <commit>^
Saya telah menambahkan alias
reci
danrecm
untukrecommit (amend)
itu. Sekarang saya bisa melakukannya dengangit recm
ataugit recm -m
:sumber
Saya menyadari bahwa saya telah mendorong komit dengan kesalahan ketik di dalamnya. Untuk membatalkan, saya melakukan hal berikut:
Peringatan: memaksa mendorong perubahan Anda akan menimpa cabang jarak jauh dengan cabang lokal Anda. Pastikan Anda tidak akan menimpa apa pun yang ingin Anda simpan. Juga berhati-hatilah untuk memaksakan komit yang diubah (ditulis ulang) jika ada orang lain yang berbagi cabang dengan Anda, karena mereka harus menulis ulang sejarah mereka sendiri jika mereka memiliki salinan komit lama yang baru saja Anda tulis ulang.
sumber
Saya suka menggunakan yang berikut ini:
git status
git add --all
git commit -am "message goes here about the change"
git pull <origin master>
git push <origin master>
sumber
Jika Anda belum mendorong kode ke cabang jarak jauh Anda ( GitHub / Bitbucket ), Anda dapat mengubah pesan komit pada baris perintah seperti di bawah ini.
Jika Anda bekerja pada cabang tertentu, lakukan ini:
Jika Anda sudah mendorong kode dengan pesan yang salah, dan Anda harus berhati-hati saat mengubah pesan. Yaitu, setelah Anda mengubah pesan komit dan mencoba mendorongnya lagi, Anda akhirnya memiliki masalah. Untuk membuatnya lancar, ikuti langkah-langkah ini.
Harap baca seluruh jawaban saya sebelum melakukannya.
Catatan penting: Saat Anda menggunakan push paksa secara langsung, Anda mungkin berakhir dengan masalah kode yang sedang dikerjakan pengembang lain di cabang yang sama. Jadi untuk menghindari konflik tersebut, Anda perlu menarik kode dari cabang Anda sebelum melakukan push force :
Ini adalah praktik terbaik saat mengubah pesan komit, jika sudah didorong.
sumber