1. Ubah suai fail A, komit dan tolak ke gudang jauh
2. Ubah suai fail B, komit dan tolak ke alat kawalan jauh
3. Sekarang pengubahsuaian fail A adalah salah dan perlu digulung semula ke versi sebelumnya, tetapi pengubahsuaian fail B perlu disimpan Apa yang perlu saya lakukan sekarang?
Jika anda menggunakan perintah git reset --hard untuk kembali ke nombor versi yang diubah suai oleh A, maka pengubahsuaian B juga akan dibuang
git revert (nombor versi)
Anda tidak akan kehilangan apa-apa dengan melakukan ini, kita semua melakukan ini..
git reset --hard command kembali ke nombor versi yang diubah suai oleh A
git pull --rebase origin menarik ke bawah cawangan nombor B Semak kod untuk melihat jika terdapat sebarang konflik Jika sebarang konflik diselesaikan
, git push..
git reset --soft HEAD@{id}, ini akan menarik balik penyerahan, tetapi pengubahsuaian dalam ruang kerja tidak akan hilang, kemudian betulkan pengubahsuaian yang salah, serahkan dan tolak ke hujung jauh
Dalam kes ini, saya biasanya menyemak log terus dan memulihkan fail A untuk memastikan fail B lengkap
Tidakkah anda boleh mengubah suai yang salah dan kemudian menyerahkannya sekali untuk menimpanya?
Jangan gunakan
git reset
untuk komitmen yang telah diserahkan pada cawangan awam Jika seseorang telah menarik komitmen ini, ia akan menjadi sangat menyusahkanDalam kes ini, anda harus menggunakan.
git revert
, yang akan menyebabkan Komit tunggalgit rebase -i HEAD^^^
Buka dokumen dengan editor lalai, ubah suai
A
sebelum penyerahan kepadadrop
atau singkatkan sebagaid
dan simpannya.Penyerahan akan dibuang secara automatik (jika terdapat konflik, anda perlu menyelesaikan konflik itu sendiri)
log git Lihat komitId A B sebelum A
git reset --hard A commitId sebelumnya
git cherry-pick B's commitId
Fungsi ini dipanggil fungsi pembayaran, yang membolehkan anda mendapatkan pengubahsuaian diserahkan
Anda hanya boleh berbalik, bukan menetapkan semula Sebarang komit yang telah ditolak ke alat kawalan jauh tidak boleh ditetapkan semula atau komit --pindaan Ini akan memusnahkan sejarah versi orang lain.
Untuk maklumat tentang revert, anda boleh membaca artikel saya: /a/11...