Keadaannya begini:
Saya menemui penyerahan awal hari ini dan baru mendapati bahawa beberapa fail telah dipadamkan.
Sekarang kami mahu mengembalikan komit versi yang ditentukan:20a3725c
git reset --hard 20a3725c
Kemudian ia gagal apabila mencuba semula git push
, gesaan:
To git@xxx/xxx.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@xxx/xxx.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
Sekarang kita perlu memulihkan kepada versi 20a3725c
, bagaimana untuk menyelesaikannya?
Persoalan lain ialah, bolehkah fail yang dipadamkan pada asalnya dipulihkan kepada versi semasa? (Oleh kerana versi semasa telah menambah atau memadam beberapa fail (dalam folder lain, bukan folder yang sama dengan fail yang dipadam))
Saya masih belum memikirkan penyelesaian.
(Sandarkan fail yang sedang diubah suai dahulu)
Terbaik, kembali ke versi yang ditentukan dahulu
git reset old_commit_id
git reset old_commit_id
然后,新建分支
git branch -b rcommit_id
再,删除线上的
master
分支(将默认分支切换到其它分支)git push origin :master
然后,将之前备份的文件覆盖当前分支内的文件。
Kemudian, buat cawangan baharu 🎜最后,将分支名改为
master
git branch -b rcommit_id
🎜 🎜Seterusnya, padamkan cawanganmaster
dalam talian (tukar cawangan lalai ke cawangan lain)🎜git push origin :master
🎜 🎜Kemudian, tulis ganti fail dalam cawangan semasa dengan fail yang disandarkan sebelum ini. 🎜Akhir sekali, tukar nama cawangan kepadamaster
, serahkan sekali lagi, dan kemudian tetapkannya sebagai cawangan lalai. 🎜Ia mesti diubah suai sebelum boleh ditolak. . .
Jika anda hanya mahu memulihkan versi tertentu, anda boleh menggunakan git revert untuk membatalkan komit itu
git revert '20a3725c
git push