Saya menggunakan Sourcetree untuk Windows untuk repositori git dan ingin membatalkan komit yang tidak dicuri.
Apakah itu mungkin? Jika saya "mengembalikan komit", itu membuat komit kedua yang mengembalikan komit pertama, tapi saya tidak ingin komit pertama muncul sama sekali dalam kontrol sumber saya.
Saya juga bisa menghapus repositori lokal saya dan menariknya lagi tanpa komit lokal saya, tetapi mungkin ada cara lain?
atlassian-sourcetree
datasourcecontrol
deimos1988
sumber
sumber
Jawaban:
Reset lunak akan menjaga perubahan lokal Anda.
Sumber: https://answers.atlassian.com/questions/153791/how-should-i-remove-push-commit-from-sourcetree
Edit
Tentang
git revert
: Perintah ini menciptakan komit baru yang akan membatalkan komit lainnya. Misal jika Anda memiliki komit yang menambahkan file baru,git revert
dapat digunakan untuk membuat komit yang akan menghapus file baru.Tentang menerapkan soft reset: Asumsikan Anda memiliki komit
A
keE
(A---B---C---D---E
) dan Anda ingin menghapus komit terakhir (E
). Kemudian Anda dapat melakukan soft reset untuk melakukanD
. Dengan soft reset komitE
akan dihapus dari git tetapi perubahan lokal akan disimpan. Ada lebih banyak contoh dalam dokumentasi reset git .sumber
Jika Anda memilih entri log yang ingin Anda kembalikan, Anda dapat mengklik "Setel ulang ke komit ini". Gunakan hanya opsi ini jika Anda tidak mendorong perubahan komit terbalik. Jika Anda khawatir kehilangan perubahan maka Anda dapat menggunakan mode lunak yang akan meninggalkan serangkaian perubahan yang tidak dikomit (yang baru saja Anda ubah). Menggunakan campuran me-reset copy pekerjaan tetapi menyimpan perubahan-perubahan itu, dan hard hanya akan menyingkirkan perubahan sepenuhnya. Berikut beberapa tangkapan layar:
sumber
Jika Anda ingin menghapus komit, Anda dapat melakukannya sebagai bagian dari rebase interaktif. Tetapi lakukan dengan hati-hati, sehingga Anda tidak mengacaukan repo Anda.
Dalam Sourcetree:
Lihat posting blog Atlassian ini untuk informasi lebih lanjut tentang rebasing interaktif di Sourcetree.
sumber
Jika Anda berada di cabang lain, Anda harus terlebih dahulu "memeriksa komit ini" untuk komit yang ingin Anda hapus, dan hanya kemudian "setel ulang cabang saat ini ke komit ini" dengan memilih komit wright sebelumnya, akan berfungsi.
sumber