我在使用 git 时遇到了一个问题,即我无法检索被 git pull 覆盖的更改。
我开始在没有 GitHub 存储库的项目上工作,然后稍后创建了存储库。创建存储库时我 fork 了它,并且还包括一个 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 我将使用 lost-found (cd .git/lost-found/other) 尝试恢复我的更改。 是否有比 lost-found 更简单的方法来恢复更改?这就是新问题。如果没有,我将用我正在使用的方法回答自己。
我开始在没有 GitHub 存储库的项目上工作,然后稍后创建了存储库。创建存储库时我 fork 了它,并且还包括一个 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 我将使用 lost-found (cd .git/lost-found/other) 尝试恢复我的更改。 是否有比 lost-found 更简单的方法来恢复更改?这就是新问题。如果没有,我将用我正在使用的方法回答自己。