Saya tidak sengaja mendorong perubahan bertahap di cabang baru di Visual Studio 2017 ke repositori lokal saya. Itu belum didorong ke repositori jarak jauh. Saya ingin menyingkirkannya tetapi tidak dapat menemukan cara untuk melakukan ini. Saya mengubah basis dari cabang master lokal ke cabang baru. Kemudian saya menghapus cabang baru. Tapi Komitmen Keluar masih menunjukkannya. Bagaimana cara menghapusnya atau mengembalikannya?
git
visual-studio
visual-studio-2017
Tony_Henrich
sumber
sumber
Jawaban:
Buka tab riwayat di Penjelajah Tim dari ubin Cabang (klik kanan cabang Anda). Kemudian di histori, klik kanan komit sebelum yang tidak ingin Anda dorong, pilih Reset. Itu akan memindahkan cabang kembali ke komit itu dan harus menyingkirkan komit ekstra yang Anda buat. Untuk mengatur ulang sebelum komit yang diberikan, Anda harus memilih induknya.
Bergantung pada apa yang ingin Anda lakukan dengan perubahan, pilih keras , yang akan menyingkirkannya secara lokal. Atau pilih lunak yang akan membatalkan komit tetapi akan meninggalkan direktori kerja Anda dengan perubahan dalam komit yang Anda buang.
sumber
Saya tidak dapat menemukan satu jawaban bagus pun yang membantu saya menyingkirkan masalah ini.
Katakanlah nama cabang, yang secara tidak sengaja Anda ubah ke, adalah
master
. Empat langkah sederhana berikut ini terbukti seperti dunia bagi saya:master
master
remotes/origin
sumber
revert
Dengan asumsi Anda telah mendorong perubahan terbaru ke server:
Setelah Anda membuka kembali proyek, komit dan perubahan harus nol.
sumber
TL; DR:
Gunakan
git reset --soft HEAD~
di cmd dari folder .slnSaya menghadapinya hari ini dan kewalahan yang
VSCode
menyarankan hal seperti itu, sedangkan kakak laki-lakiVisual Studio
tidak.Sebagian besar jawaban sangat membantu; jika saya memiliki lebih banyak komitmen yang dibuat sebelumnya, kehilangan semuanya akan membuat frustrasi. Apalagi jika
VSCode
dilakukan dalam setengah detik, seharusnya tidak rumit.Hanya jawaban jessehouwing yang paling mendekati solusi sederhana.
Dengan asumsi komit yang tidak diinginkan adalah yang terakhir terjadi, Berikut adalah cara saya menyelesaikannya:
Pergi ke
Team Explorer
->Sync
. Di sana Anda akan melihat semua komit. TekanActions
dropdown danOpen Command Prompt
Anda akan melihat jendela cmd diminta, di sana tulis
git reset --soft HEAD~
. Jika ada beberapa komit yang tidak diinginkan, tambahkan jumlah setelah~
(mis.git reset --soft HEAD~5
)(Jika Anda tidak menggunakan
git
, periksa penggunaan sehari-hari).Saya berharap ini akan membantu, dan semoga di versi berikutnya tim VS akan menambahkannya
sumber
Buka tab Team Explorer lalu klik Branches. Di cabang pilih cabang Anda dari remote / origin. Misalnya, Anda ingin mengatur ulang cabang master Anda. Klik kanan di cabang master di remote / origin lalu pilih Reset lalu klik Delete changes. Ini akan mengatur ulang cabang lokal Anda dan menghapus semua perubahan yang dilakukan secara lokal.
sumber
Cobalah untuk me-rebase cabang master lokal Anda ke cabang master jarak jauh / asal Anda dan selesaikan konflik apa pun dalam prosesnya.
sumber
Anda memiliki 2 opsi di sini untuk melakukannya, baik untuk membuang semua komitmen keluar Anda ATAU membatalkan komitmen tertentu ..
1- Buang semua komitmen keluar Anda:
Untuk membuang semua komit keluar Anda Misalnya jika Anda memiliki cabang lokal bernama master dari cabang jarak jauh, Anda dapat:
1- Ubah nama cabang lokal Anda dari master menjadi apa pun sehingga Anda dapat menghapusnya. 2- Hapus cabang yang diganti namanya. 3- buat cabang baru dari master
Jadi sekarang Anda memiliki cabang baru tanpa komitmen Anda ..
2- Batalkan komit khusus: Untuk membatalkan komit tertentu Anda harus mengembalikan yang tidak dibutuhkan dengan:
1- Klik dua kali pada komit yang tidak dibutuhkan. Klik dua kali pada komit yang tidak diperlukan 2- Klik pada kembali Klik pada kembali
Tapi FYI komit yang dikembalikan akan muncul di riwayat komit Anda dengan komit kembali ..
sumber