Memperbarui
Catatan: jawaban ini awalnya ditulis berkaitan dengan versi SourceTree untuk Windows yang lebih lama, dan sekarang kedaluwarsa.
Lihat jawaban baru saya untuk versi SourceTree untuk Windows saat ini, 1.5.2.0 . Saya meninggalkan jawaban ini untuk tujuan historis.
Jawaban Asli
karena saya menggunakan Windows, saya tidak memiliki alat baris perintah atau saya tidak tahu cara menggunakannya :( Apakah ini satu-satunya cara untuk menyelesaikannya? GUI tidak mencakup semua fungsi git? - Poster Asli
Mengenai Git GUI, tidak, mereka tidak mencakup semua fungsi Git . Mereka bahkan tidak mendekati . Saya sarankan Anda memeriksa salah satu jawaban di Bagaimana cara mengedit pesan komit yang salah di Git? , Git cukup fleksibel sehingga ada beberapa solusi ... dari baris perintah.
SourceTree mungkin benar-benar datang dengan shell bash msysgit, atau mungkin dapat menggunakan shell perintah Windows standar. Apa pun itu, Anda membukanya dari SourceTree dengan mengklik tombol Terminal:
Anda mengatur terminal mana yang digunakan SourceTree (bash atau Windows) di sini:
Salah satu cara untuk memecahkan masalah di SourceTree
Yang sedang berkata, inilah salah satu cara Anda dapat melakukannya di SourceTree. Karena Anda menyebutkan dalam komentar bahwa Anda tidak keberatan "kembali ke komit yang salah" (yang saya anggap benar-benar Anda maksud mengatur ulang, yang merupakan operasi yang berbeda di Git), maka berikut adalah langkah-langkahnya:
- Lakukan hard reset di SourceTree ke komit buruk dengan mengklik kanan padanya dan memilih
Reset current branch to this commit
, dan memilih opsi hard reset dari drop down.
- Klik tombol Komit, lalu
- Klik pada kotak centang di bagian bawah yang mengatakan "Ubah komit terbaru".
- Buat perubahan yang Anda inginkan pada pesan, lalu klik Komit lagi. Voila!
Mengenai komentar ini :
jika tidak mungkin karena sudah didorong ke Bitbucket, saya tidak keberatan membuat repositori baru dan memulai dari awal.
Apakah ini berarti Anda satu-satunya orang yang mengerjakan repo? Ini penting karena tidak sepele untuk mengubah riwayat repo (seperti dengan mengubah komit) tanpa menimbulkan masalah bagi kolaborator Anda. Namun, dengan asumsi bahwa Anda adalah satu-satunya orang yang mengerjakan repo, maka hal berikutnya yang ingin Anda lakukan adalah memaksa mendorong riwayat Anda yang berubah ke kendali jarak jauh.
Perlu diketahui, bahwa karena Anda melakukan reset keras ke komit yang salah, maka memaksa mendorong menyebabkan Anda kehilangan semua pekerjaan yang datang setelah itu sebelumnya. Jika tidak apa-apa, maka Anda mungkin perlu menggunakan perintah berikut di baris perintah untuk melakukan push paksa, karena saya tidak bisa menemukan opsi untuk melakukannya di SourceTree:
git push remote-repo head -f
Ini juga mengasumsikan bahwa BitBucket akan memungkinkan Anda untuk memaksa mendorong repo.
Anda harus benar-benar belajar bagaimana menggunakan Git dari baris perintah, bagaimanapun, itu akan membuat Anda lebih mahir dalam Git. # ProTip, gunakan msysgit dan nyalakan mode Edit Cepat di properti terminal, sehingga Anda dapat mengklik dua kali untuk menyorot sebaris teks, klik kanan untuk menyalin, dan klik kanan lagi untuk menempelkan. Cukup cepat.