我已经在我的应用程序上工作了 1 周而没有提交。我是 git 新手,所以请不要因为我在 master 上做了所有事情而抨击我。
无论如何,我有 1 个文件,由于错误,它的大小必须为 1gb。当我删除它并进行新的提交时,它仍然希望在推送时上传大文件。所以我决定用谷歌搜索如何删除提交,我在没有阅读文档的情况下使用了这个命令。
Jans-MacBook-Pro-2:js3 jan$ git reset --hard HEAD~1
HEAD is now at afcb5ad fix dev log
Jans-MacBook-Pro-2:js3 jan$ git reset --hard HEAD~1
HEAD is now at b5ac226 work in progress
Jans-MacBook-Pro-2:js3 jan$ git reset --hard HEAD~1
HEAD is now at e6d938c stylesheet
Jans-MacBook-Pro-2:js3 jan$ git add .
Jans-MacBook-Pro-2:js3 jan$ git commit -a -m 'work in progress'
# On branch master
nothing to commit (working directory clean)
当我意识到发生了什么时……这是世界上最糟糕的感觉之一。有什么办法可以恢复我的工作?我做了很多事情,我什至不知道从哪里开始。
这是我的参考日志:
Jans-MacBook-Pro-2:js3 jan$ git reflog
e6d938c HEAD@{0}: reset: moving to HEAD~1
b5ac226 HEAD@{1}: reset: moving to HEAD~1
afcb5ad HEAD@{2}: reset: moving to HEAD~1
0c7d0d5 HEAD@{3}: commit: fix?
afcb5ad HEAD@{4}: commit: fix dev log
b5ac226 HEAD@{5}: commit: work in progress
e6d938c HEAD@{6}: commit: stylesheet
最后一次推送(1 周前)是样式表,所有其他提交都是从今天开始的。理想情况下,我喜欢他们中的任何一个。
进展 在我意识到发生了什么之后,我保存了我在 vim 中打开的所有选项卡。现在,当我尝试恢复时,我得到了这个。我该如何解决?
Jans-MacBook-Pro-2:js3 jan$ git checkout afcb5ad
error: Your local changes to the following files would be overwritten by checkout:
app/controllers/find_controller.rb
app/models/search.rb
log/development.log
Please, commit your changes or stash them before you can switch branches.
Aborting
Jans-MacBook-Pro-2:js3 jan$