3

我遇到了 git 问题,我无法检索被git pull.

我开始了一个没有 GitHub 存储库的项目,后来我做了这个项目。我在创建存储库时分叉了存储库,其中包含一个README文件。

我在本地添加了我想使用 推送存储库的文件git add,但后来意识到我应该README从 GitHub 存储库中提取第一个文件。

拉动后,我尝试推送我的更改,但收到了消息Everything up-to-date

我使用ls命令发现添加的文件git add被删除并替换为README.md.

这些是我执行的命令:
命令

使用git log只是显示了其他人在README. 考虑到我没有做出任何承诺,我想这是意料之中的。

Usinggit reflog表明我做了一次拉动,(HEAD@{0})但 usinggit reset --hard HEAD@{0}似乎没有做任何事情。我也尝试git reset --hard HEAD@{"20 minutes ago"}过,但只收到警告说日志只回到了我的第一次拉取。

有没有办法恢复被拉取覆盖的未提交更改?

编辑

我很抱歉没有做功课,我注意到侧边栏上有一个问题,这个问题是重复的:Git pull deleted uncommitted changes

我将使用失物招领 ( cd .git/lost-found/other) 来尝试恢复我的更改。

有没有比 lost-found 更简单的方法来恢复更改,我想这是新问题。如果没有,我会用我正在使用的方法来回答自己。

4

1 回答 1

3

如问题中所述,我用来恢复更改的解决方案是使用 git 的失物招领。

我过去常常cd .git/lost-found/other/把自己带到失物招领处,找到文件所在的地方。

我打开目录中的每个文件以查看其名称,然后将其移动到具有正确名称的正确目录中。

我曾经git add添加更改并提交它们,所以现在我不会再丢失它们了。

于 2013-02-15T04:25:11.633 回答