Tidak, hanya git reset --hard dan kemudian git push -f.
Soalan anda menanyakan cara untuk membatalkan komit jauh Satu-satunya cara ialah membuat pembetulan setempat dan kemudian menolak paksa Dan ramai orang telah menyebut bahawa menolak paksa adalah amalan yang sangat buruk melainkan ia perlu atau individu itu tidak mendedahkannya projek atau Projek pasukan kecil (kos komunikasi yang lebih rendah) hanya boleh dilaksanakan.
Selepas membaca ulasan anda pada jawapan lain, nampaknya anda ingin membersihkan sejarah komit, jadi git pastinya sangat baik dalam hal ini berbanding VCS lain. Anda boleh menggunakan perintah git rebase untuk membina semula sejarah, menyusun semula, menggabungkan dan memisahkan beberapa komitmen Ringkasnya, ia sudah cukup untuk membersihkan sejarah kotor anda. Jika anda ingin membuat beberapa perubahan yang pasti pada keseluruhan sejarah, terdapat juga perintah git fileter-branch yang tersedia, yang sangat fleksibel dan patut diterokai.
Mari bercakap tentang proses penyerahan saya, saya biasanya mengubah suai fail sehingga mencapai matlamat saya dan kemudian mula menyerahkannya Pada masa ini, saya bukan sahaja membuat penyerahan secara langsung, tetapi menggunakan pemalam vim dan vim-fugitive. . , buka ruang kerja dan kawasan pementasan dalam mod berbeza, kemudian hasilkan semula pengubahsuaian saya langkah demi langkah dalam kawasan pementasan, dan serahkannya pada masa yang sesuai. Memandangkan saya telah menyelesaikan keseluruhan pengubahsuaian, saya sangat tahu siapa yang harus pergi dahulu dan terakhir dalam setiap semakan, jadi saya boleh menjadikannya agak bersih, jelas dan "atom" (iaitu, satu komit hanya membuat satu pengubahsuaian tertentu, bukannya mencampurkan beberapa pengubahsuaian ) untuk memudahkan semakan kod oleh orang lain.
——————
Akhir sekali, saya ingin ambil perhatian bahawa SF berbeza daripada model forum domestik Ia bukan kaedah soal jawab, soal jawab. Jika anda rasa anda perlu menambah soalan anda, cuma edit soalan itu supaya semua orang yang mengikuti akan dimaklumkan. Jika anda hanya mengemas kini dan menambah soalan dalam ulasan jawapan lain, tiada siapa yang akan dimaklumkan.
Sila ambil serius apa yang anda muat naik ke Internet. Semuanya adalah sejarah. Anda boleh mengacaukan rekod anda apabila anda menerbitkannya, ia akan menjadi sejarah di Internet.
Setelah bergelut dalam tempoh yang lama, saya cuma ingin mengatakan bahawa tidak perlu ada perubahan selepas memuat naik idea anda.
Pendekatan saya adalah untuk kembali ke versi yang betul secara setempat dan kemudian menolaknya sekali Jika anda ingin menghapuskan rekod komit sebelumnya, nampaknya anda perlu menggunakan git rebase
Tidak, hanya
git reset --hard
dan kemudiangit push -f
.Soalan anda menanyakan cara untuk membatalkan komit jauh Satu-satunya cara ialah membuat pembetulan setempat dan kemudian menolak paksa Dan ramai orang telah menyebut bahawa menolak paksa adalah amalan yang sangat buruk melainkan ia perlu atau individu itu tidak mendedahkannya projek atau Projek pasukan kecil (kos komunikasi yang lebih rendah) hanya boleh dilaksanakan.
Selepas membaca ulasan anda pada jawapan lain, nampaknya anda ingin membersihkan sejarah komit, jadi git pastinya sangat baik dalam hal ini berbanding VCS lain. Anda boleh menggunakan perintah
git rebase
untuk membina semula sejarah, menyusun semula, menggabungkan dan memisahkan beberapa komitmen Ringkasnya, ia sudah cukup untuk membersihkan sejarah kotor anda. Jika anda ingin membuat beberapa perubahan yang pasti pada keseluruhan sejarah, terdapat juga perintahgit fileter-branch
yang tersedia, yang sangat fleksibel dan patut diterokai.Mari bercakap tentang proses penyerahan saya, saya biasanya mengubah suai fail sehingga mencapai matlamat saya dan kemudian mula menyerahkannya Pada masa ini, saya bukan sahaja membuat penyerahan secara langsung, tetapi menggunakan pemalam vim dan vim-fugitive. . , buka ruang kerja dan kawasan pementasan dalam mod berbeza, kemudian hasilkan semula pengubahsuaian saya langkah demi langkah dalam kawasan pementasan, dan serahkannya pada masa yang sesuai. Memandangkan saya telah menyelesaikan keseluruhan pengubahsuaian, saya sangat tahu siapa yang harus pergi dahulu dan terakhir dalam setiap semakan, jadi saya boleh menjadikannya agak bersih, jelas dan "atom" (iaitu, satu komit hanya membuat satu pengubahsuaian tertentu, bukannya mencampurkan beberapa pengubahsuaian ) untuk memudahkan semakan kod oleh orang lain.
——————
Akhir sekali, saya ingin ambil perhatian bahawa SF berbeza daripada model forum domestik Ia bukan kaedah soal jawab, soal jawab. Jika anda rasa anda perlu menambah soalan anda, cuma edit soalan itu supaya semua orang yang mengikuti akan dimaklumkan. Jika anda hanya mengemas kini dan menambah soalan dalam ulasan jawapan lain, tiada siapa yang akan dimaklumkan.
Sila ambil serius apa yang anda muat naik ke Internet. Semuanya adalah sejarah. Anda boleh mengacaukan rekod anda apabila anda menerbitkannya, ia akan menjadi sejarah di Internet.
Setelah bergelut dalam tempoh yang lama, saya cuma ingin mengatakan bahawa tidak perlu ada perubahan selepas memuat naik idea anda.
Pendekatan saya adalah untuk kembali ke versi yang betul secara setempat dan kemudian menolaknya sekali Jika anda ingin menghapuskan rekod komit sebelumnya, nampaknya anda perlu menggunakan git rebase
Lihat: Perkara yang perlu dilakukan selepas menyerahkan komitmen yang salah kepada Github