我遇到了git问题,我无法检索被git pull
覆盖的更改。
我已经开始了一个没有GitHub存储库的项目,后来我做了。我在创建存储库时将其分叉,其中包含一个README
文件。
我在本地添加了文件,我希望使用git add
推送存储库,但后来意识到我应该首先从GitHub存储库中提取README
。
拉动之后,我尝试推送我的更改,而是收到消息Everything up-to-date
。
我使用ls
命令查找已添加git add
的文件已被删除并替换为README.md
。
这些是我执行的命令:
使用git log
只显示了在README
上处理项目的其他人的提交。我想这是预期的,考虑到我没有提交。
使用git reflog
表示我做了一次拉,(HEAD@{0}
),但使用git reset --hard HEAD@{0}
似乎没有做任何事情。我也试过git reset --hard HEAD@{"20 minutes ago"}
,但只是警告说日志只回到我的第一次拉动。
有没有办法恢复由拉动覆盖的未提交的更改?
修改:
我为不做功课而道歉,我在侧栏上注意到这个问题与以下问题重复:Git pull deleted uncommitted changes
我将使用找不到的(cd .git/lost-found/other
)来尝试恢复我的更改。
是否有一种更简单的方法来恢复更改而不是丢失,我想这是一个新问题。如果没有,我会用我正在使用的方法回答自己。
答案 0 :(得分:1)
正如问题所述,我用来恢复变化的解决方案是使用git的lost-found。
我使用cd .git/lost-found/other/
将自己带到丢失的地方并找到文件的位置。
我打开了目录中的每个文件以查看它的名称,然后将其移动到具有正确名称的正确目录。
我使用git add
添加更改并提交它们,所以现在我不会再丢失它们。