Git - 如何反转" git reset --hard origin / master"

时间:2015-08-02 23:13:55

标签: git github

把头发拉到这里,因为我似乎无法解决这个问题。

我知道这是其他问题的重复,但是我不确定我是否在这里遗漏了一些问题。

我试图将提交推送到我的仓库,有一个大文件,它出现了一个关于它超过100mb的错误。所以我删除了该文件并尝试再次提交但是它似乎仍然在提交的更改中有文件,所以它再次失败。

然后我认为运行git reset --hard origin / master会清除提交,但它会清除已经发生的更改。我现在已经失去了几个月的工作,而且我感觉不太好。

在其他问题上,它建议使用git reset HEAD @ {1}来恢复之前的重置。我这样做但是当重置完成时,我没有我的文件回来,我做了git状态,它显示像

    deleted:    view/portal/reports/frequent-calls.view.php
    deleted:    view/portal/reports/not-contacts.view.php
    modified:   view/portal/reports/reports.view.php
    modified:   view/portal/reports/results.view.php

标记为已删除的文件是我想要的文件。我不确定我是否应该在此之后做其他事情来恢复文件。我真的很感激这里有任何建议!

1 个答案:

答案 0 :(得分:4)

你将你的回购指向原点/主人。要回来,你必须这样做。

您的脚本无法正常运行,因为您还必须添加--hard选项。

git reset --hard HEAD@{1}

然而。如果你在第一次重置后做了很多事情。它现在可能不起作用。

您应该使用reflog命令找到最后一次提交。

git reflog

您将看到HEAD的最新位置。寻找前一个有问题的重置。您可以使用SHA1或列表中的位置。

git reset --hard SHA1

或者

git reset --hard HEAD@{theNumber}