Misalnya, di cabang master berikut, saya perlu membuang hanya commit af5c7bf16e6f04321f966b4231371b21475bc4da, yang merupakan yang kedua karena rebase sebelumnya:
commit 60b413512e616997c8b929012cf9ca56bf5c9113
Author: Luca G. Soave <[email protected]>
Date: Tue Apr 12 23:50:15 2011 +0200
add generic config/initializers/omniauth.example.rb
commit af5c7bf16e6f04321f966b4231371b21475bc4da
Author: Luca G. Soave <[email protected]>
Date: Fri Apr 22 00:15:50 2011 +0200
show github user info if logged
commit e6523efada4d75084e81971c4dc2aec621d45530
Author: Luca G. Soave <[email protected]>
Date: Fri Apr 22 17:20:48 2011 +0200
add multiple .container at blueprint layout
commit 414ceffc40ea4ac36ca68e6dd0a9ee97e73dee22
Author: Luca G. Soave <[email protected]>
Date: Thu Apr 21 19:55:57 2011 +0200
add %h1 Fantastic Logo + .right for 'Sign in with Github'
Saya perlu menjaga
- Komit pertama 60b413512e616997c8b929012cf9ca56bf5c9113,
- Komit ketiga e6523efada4d75084e81971c4dc2aec621d45530 dan
- Komit Terakhir 414ceffc40ea4ac36ca68e6dd0a9ee97e73dee22
"membuang" hanya komit Kedua af5c7bf16e6f04321f966b4231371b21475bc4da
Bagaimana saya bisa melakukan itu? Terima kasih sebelumnya Luca
sumber
Jika rebase adalah sebuah opsi, Anda dapat melakukan rebase dan menjatuhkannya:
Jika rebase bukan pilihan, Anda bisa mengembalikannya:
sumber
git rebase
untuk menjatuhkannya (dengan menjalankanrebase
dalam mode interaktif dan menghapus entri tersebut).Terlepas dari semua pujian yang diterima jawaban asli di sini, saya tidak menemukan jawaban yang memuaskan untuk pertanyaan itu. Jika Anda menemukan diri Anda dalam situasi di mana Anda perlu menghapus komit, atau kumpulan komit dari tengah riwayat, inilah yang saya sarankan:
Berikut info tentang Memetik Ceri: Apa arti dari memetik ceri dengan git?
Berikut beberapa cara melakukannya dengan Tortoise Git (seperti yang baru saja saya lakukan). Pasti lebih mudah menggunakan utilitas gui untuk operasi semacam ini! Petik ceri menggunakan TortoiseGit
sumber