当前位置:  开发笔记 > 运维 > 正文

如何将我的远程git存储库还原为某个提交?

如何解决《如何将我的远程git存储库还原为某个提交?》经验,为你挑选了1个好方法。

我意外地跑了:

git push origin +master

在尝试将文件推送到我的Github仓库时.此命令重置所有提交历史记录并删除了一些文件.

我想知道是否有办法将我的repo重置为具有哈希94b90dc1121ce477131fa60ffdc234591554b6c8的某个提交.



1> Jonathan.Bri..:
git checkout master
git reset --hard 94b90dc1121ce477131fa60ffdc234591554b6c8
git push -f origin master

这是对命令的解释......

首先,让我们确保你在master分支上,所以使用checkout命令让你的HEAD指向master.

什么是HEAD?它基本上是Git维持指向你当前在Git树中的位置的指针.

实际上,大多数这些概念(如HEAD和分支)只是指向树中不同点的指针.gitk从命令行执行a 以良好的图形格式查看树.

接下来,让reset你的HEAD指针指向原始问题中的确切提交.这基本上会使文件系统上的文件与提交相匹配.

但要小心reset --hard......如果你有出色的工作,或者尚未推送到服务器的提交,这可能会使它们"无法访问"(再次考虑那棵树)...如果你"失去"这个命令的提交你通常可以通过使用reflog虽然让他们回来.

最后,将主分支的本地状态推送到GitHub的主分支.-f是因为你正在重写分支的历史,所以你需要告诉Git"强迫"它.

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有