版本控制 - git 如何还原某个文件
过去多啦不再A梦
过去多啦不再A梦 2017-04-28 09:06:04
0
6
884

目的

想把文件 include/plugin/funclib/function_member.php 恢复到 b257f8685b71a471c4f797d05f52a1a576047ed2 (2014-12-29 23:38)这个版本,但是使用 git reset b257f8685b71a471c4f797d05f52a1a576047ed2 include/plugin/funclib/function_member.php 一直无法实现。

代码


Administrator@USER-20140115FZ /D/website/xxx.com/www (master) $ git log include/plugin/funclib/function_member.php commit bbb0a005d245e6d5ef5b1c0b1b0ef2981fa3ecb9 Author: ken <xxx@gmail.com> Date: Mon Jan 5 22:07:37 2015 +0800 for reset commit b257f8685b71a471c4f797d05f52a1a576047ed2 Author: ken <xxx@gmail.com> Date: Mon Dec 29 23:38:09 2014 +0800 add reg forbbiden commit 052c0233bcaef35bbf6e6ebd43bfd6a648e3d93b Author: ken <xxx@gmail.com> Date: Mon Dec 29 21:51:44 2014 +0800 add coname filter for register commit 53298e00de944863f6092d0d4c0a260d00124f9f Author: ken <xxx@gmail.com> Date: Mon Dec 29 01:24:13 2014 +0800 add referrals.php delete some php files like serv.php yqm.php,modify registe commit 44118e5256eb9786d024f9b7d2dfb8af0bd8a308 Author: default7 <xxx@gmail.com> Date: Sun Jul 27 17:05:21 2014 +0800 first commit Administrator@USER-20140115FZ /D/website/xxx.com/www (master) $ git reset b257f8685b71a471c4f797d05f52a1a576047ed2 include/plugin/funclib/fun ction_member.php --hard fatal: Cannot do hard reset with paths. Administrator@USER-20140115FZ /D/website/xxx.com/www (master) $ git reset b257f8685b71a471c4f797d05f52a1a576047ed2 include/plugin/funclib/fun ction_member.php Unstaged changes after reset: M include/plugin/funclib/function_member.php Administrator@USER-20140115FZ /D/website/xxx.com/www (master) $
过去多啦不再A梦
过去多啦不再A梦

membalas semua(6)
给我你的怀抱

Gunakan sahaja git-checkout. Cuma agak pelik untuk difahami.

$ git checkout ${commit} /path/to/file

Rujukan sumber:

  • http://stackoverflow.com/questions/215718/reset-or-revert-a-specific-file-to-a-specific-revision-using-git
  • https://www.kernel.org/pub/software/scm/git/docs/git-checkout.html
滿天的星座

Anda masih perlu melaksanakan git checkout xxxxx(文件名)

phpcn_u1582

Git tidak boleh memulihkan satu fail kepada versi yang ditentukan Jika anda mahu melakukan ini, anda boleh melakukan ini
1. git set semula nombor versi Pada masa ini, cawangan yang sepadan dengan nombor versi akan dihasilkan
2. git checkout ke cawangan ini dan salin fail untuk dipulihkan
3. git checkout ke cawangan asal, salin semula fail, tulis ganti fail semasa, kemudian git add, git commit

世界只因有你

Saya rasa bagus untuk menggunakan tortoisegit Selepas konfigurasi, terdapat antara muka grafik secara langsung, dan anda boleh memulihkan versi sebelumnya dengan rever

漂亮男人

1. Jika penyerahan anda belum dikongsi dan diterbitkan ke hujung jauh, anda boleh menggunakan git rebase -i origin/branch untuk mengedit cawangan yang sepadan dan kemudian menyerahkan semula git commit --ammend.
2. Jika penyerahan anda telah dikongsi ke hujung jauh, anda hanya boleh menggunakan git revert ke cawangan yang sepadan, kemudian semak fail lain, simpan hanya pengubahsuaian ini, dan kemudian serahkan.
3. Ia akan menjadi sangat mudah jika saya biasanya mengklik pada fail versi tertentu dalam kawalan git webstrom, klik kanan untuk kembali dan kemudian menyerahkan

.
Ty80

git checkout <sha1-of-a-commit> </path/to/your/file>

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan