Kesalahan:
Saya git rebase -i --root
membuka cabang saya, dengan bodohnya berpikir saya dapat mengatur ulang komit pertama yang berbeda dari master ( tampilan default GitHub untuk Windows adalah perbandingan dengan master, menyembunyikan keseluruhannya).
Saya menumbuhkan janggut Silicon Valley sementara 900+ komitmen memuat diri ke Sublime. Keluar tanpa perubahan, saya mengisi daya baterai saya kemudian mulai mencukur, karena semua 900+ individu melakukan rebondally - mengatur ulang waktu komit mereka untuk sekarang.
Bertekad untuk mengalahkan Git dan mempertahankan waktu semula, saya menghapus repositori lokal ini dan mengkloning ulang dari jarak jauh.
Sekarang itu telah menambahkan kembali komit yang tidak dibutuhkan terbaru untuk dikuasai yang ingin saya hapus, jadi lanjutkan seperti itu.
Opsi yang melelahkan:
Saya tidak ingin git revert
- itu akan membuat komit tambahan, memberikan Git di atas angin.
git reset --hard HEAD
tidak melakukan apa pun, setelah memeriksa reflog
, yang terakhir dan satu HEAD
- satunya adalah klon - Git menang.
Untuk mendapatkan SHA terbaru, saya memeriksa repositori jarak jauh di github.com - minor win.
Setelah berpikir git reset --hard <SHA>
berhasil, saya memperbarui cabang lain untuk dikuasai dan 1 ... 2 ... poof! komit telah kembali - Git menang.
Memeriksa kembali untuk menguasai, waktu untuk mencoba git rebase -i <SHA>
, lalu menghapus garis ... tidak berhasil, sedih untuk mengatakan. " Jika Anda menghapus garis di sini, KOMIT YANG AKAN HILANG ". Ah ... dipoles fitur baru troll n00b di catatan rilis 2.8.3 .
Solusinya:
git rebase -i <SHA>
kemudian d, drop = remove commit
.
Untuk memverifikasi, saya memeriksa ke cabang lain, dan voila - tidak ada komit bersembunyi untuk mengambil / menarik dari master.
https://twitter.com/holman/status/706006896273063936
Hari baik untuk Anda.
cherry-pick
dandelete
satu komit yang mungkin terjadi beberapa saat yang lalu.