Saya sangat baru mengenal git, dan bertanya-tanya apakah hal seperti ini mungkin?
>git log --pretty=oneline --abbrev-commit
2f05aba Added new feature
3371cec Fixed screw up <-- I want to remove this
daed25c Screw up <-- and remove this.
e2b2a84 First. So it's like they never happend.
Apakah ini mungkin?
Jika Anda benar-benar ingin menghapusnya (menghapusnya dari riwayat, tidak akan pernah terlihat lagi), Anda bisa
jalankan rebase:
dan kemudian, hapus saja (atau komentari) baris yang sesuai dengan komit yang ingin Anda hapus, seperti:
sumber
git push origin HEAD --force
git revert
. Yang mana, ketika Anda memikirkannya masuk akal karena jika Anda menarik kode orang lain, Anda tidak ingin mereka dapat menghapus komitmen lama Anda tanpa semacam riwayat, bukan?d
ataudrop
adalah perintah untuk menghapus komit dari riwayat.Untuk sepenuhnya menghapus komit, ada opsi baru
drop
untuk rebases interaktif git sekarang. Lari pertama:Kemudian ganti
pick
dengandrop
untuk komit yang akan dijatuhkan:Ini berfungsi di Fedora untuk saya dengan versi berikut:
sumber
Squash berguna ketika Anda ingin membuat daftar komit gabungan di bawah satu hash, tetapi jika Anda ingin mengambil tiga komit terpisah dan memiliki hasil akhir yang terlihat seperti komit tunggal, saya sarankan
fixup
git rebase -i HEAD~4
Anda dapat menemukan informasi selengkapnya di daftar perintah UI rebase interaktif.
sumber