在提交之后但在推送

时间:2015-11-18 06:46:02

标签: git

我在提交更改后但在做git reset --hard之前不知不觉地做了git push

我没有提交我的所有文件,现在这些未提交的文件中的更改都会丢失。 git status仅显示未跟踪的文件。

我正在尝试恢复这些更改,然后我还需要撤消我的提交,因为我需要首先执行git pull

如何撤消此操作?

1 个答案:

答案 0 :(得分:1)

  

我没有提交我的所有文件,现在这些未提交的文件中的更改都会丢失。

很抱歉带来坏消息,但Git无法帮助您恢复这些文件。 Git在某些时候跟踪过的内容通常是可以恢复的,但如果它首先从未在Git中出现过,那么你就是运气不好。

您的系统可能有也可能没有内置快照功能。如果是,并启用了它,则可以将其用于恢复。

您的项目可能会也可能不会将文件复制到临时构建目录。如果确实如此,并且您尚未执行新构建,则可以将其用于恢复。

但是从Git本身来说呢?不,没有办法。

  

然后我需要撤消我的提交,因为我需要先做一个git pull。

撤消提交是使用git reset完成的,但正如您所发现的那样,如果使用错误的选项,则这是一个危险的命令。

获取权限,然后使用git pull --rebase代替。