git 如何还原某个文件

发布于 2022-09-04 20:12:41 字数 1744 浏览 21 评论 0

目的

想把文件 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) $

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

我爱人 2022-09-11 20:12:41

还需要执行git checkout xxxxx(文件名)

何以心动 2022-09-11 20:12:41

我觉得使用tortoisegit挺好的啊,配置好之后直接有图形界面,用rever就可以恢复以前版本了

蛮可爱 2022-09-11 20:12:41

1.如果你的提交还没有分享发布到远端可以用git rebase -i origin/branch 来对相应分支进行edit修改后重新提交git commit --ammend。
2,如果你的提交已经分享到远端只能通过git revert 相应分支的情况,然后将其他文件checkout,只保留这个修改,然后再提交。
3.有点复杂,如果有gui工具就很方便了,我一般是在webstrom的git控制上,点击某个版本的某个文件右击revert再提交即可

北斗星光 2022-09-11 20:12:41

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

各自安好 2022-09-11 20:12:41

git不能把单独的某个文件恢复到指定的版本,如果要这要做,可以这样
1、git reset 版本号,这时候,会产生一个和版本号对应的分支
2、git checkout到这个分支,把要恢复的文件拷贝走
3、git checkout到原来的分支,把文件再拷贝回来,覆盖掉现在的文件,然后git add,git commit

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文