我在提交更改后但在做git reset --hard
之前不知不觉地做了git push
。
我没有提交我的所有文件,现在这些未提交的文件中的更改都会丢失。 git status
仅显示未跟踪的文件。
我正在尝试恢复这些更改,然后我还需要撤消我的提交,因为我需要首先执行git pull
。
如何撤消此操作?
答案 0 :(得分:1)
我没有提交我的所有文件,现在这些未提交的文件中的更改都会丢失。
很抱歉带来坏消息,但Git无法帮助您恢复这些文件。 Git在某些时候跟踪过的内容通常是可以恢复的,但如果它首先从未在Git中出现过,那么你就是运气不好。
您的系统可能有也可能没有内置快照功能。如果是,并启用了它,则可以将其用于恢复。
您的项目可能会也可能不会将文件复制到临时构建目录。如果确实如此,并且您尚未执行新构建,则可以将其用于恢复。
但是从Git本身来说呢?不,没有办法。
然后我需要撤消我的提交,因为我需要先做一个git pull。
撤消提交是使用git reset
完成的,但正如您所发现的那样,如果使用错误的选项,则这是一个危险的命令。
获取权限,然后使用git pull --rebase
代替。