我意外地跑了:
git push origin +master
Run Code Online (Sandbox Code Playgroud)
在尝试将文件推送到我的Github仓库时.此命令重置所有提交历史记录并删除了一些文件.
我想知道是否有办法将我的repo重置为具有哈希94b90dc1121ce477131fa60ffdc234591554b6c8的某个提交.
Jon*_*ink 12
git checkout master
git reset --hard 94b90dc1121ce477131fa60ffdc234591554b6c8
git push -f origin master
Run Code Online (Sandbox Code Playgroud)
这是对命令的解释......
首先,让我们确保你在master分支上,所以使用checkout命令让你的HEAD指向master.
什么是HEAD?它基本上是Git维持指向你当前在Git树中的位置的指针.
实际上,大多数这些概念(如HEAD和分支)只是指向树中不同点的指针.gitk从命令行执行a 以良好的图形格式查看树.
接下来,让reset你的HEAD指针指向原始问题中的确切提交.这基本上会使文件系统上的文件与提交相匹配.
但要小心reset --hard......如果你有出色的工作,或者尚未推送到服务器的提交,这可能会使它们"无法访问"(再次考虑那棵树)...如果你"失去"这个命令的提交你通常可以通过使用reflog虽然让他们回来.
最后,将主分支的本地状态推送到GitHub的主分支.-f是因为你正在重写分支的历史,所以你需要告诉Git"强迫"它.
| 归档时间: |
|
| 查看次数: |
1367 次 |
| 最近记录: |