我不小心跑了:
git push origin +master
同时尝试将文件推送到我的Github存储库。该命令重置所有提交历史记录,并删除了一些文件。
我想知道是否有一种方法可以将我的存储库重置为具有哈希94b90dc1121ce477131fa60ffdc234591554b6c8
的特定提交。
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
尽管将它们找回来。
最后,将您的master分支的本地状态推送到GitHub的master分支。-f在那里是因为您正在重写分支的历史记录,因此您需要告诉Git“强制”它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句