1

所以我向刚刚初始化的本地存储库添加了一个远程的空存储库,并在提交本地更改之前犯了拉取错误:

git init
git remote add origin <URL>
git add *
git pull origin master

现在我所有的文件都被删除了,因为 git 将空的 repo 写入了本地文件。

通常,在拉取时,如果有需要提交的未暂存的本地更改,git 会拒绝合并。我很惊讶这与初始提交不同。

git log仅显示初始提交,因为我从未提交本地更改,因此我无法使用git reset --hard. 有没有办法恢复我的文件,如果有,怎么办?

4

2 回答 2

5

从您上面给出的工作流程来看,您似乎已经暂存了文件。那应该会留下一些悬空的斑点,您应该能够恢复。

git fsck --lost-found

这应该将更改提交到 .git/lost-found 中的文件。那里可能会出现一些东西。

进一步讨论:git pull 后恢复文件,执行 git reset --hard HEAD^ 后恢复添加的文件

于 2013-02-04T15:54:35.920 回答
-1

如果您丢失的更改没有提交,git 不会意识到它们并且无法恢复它们。在采取可能修改工作目录状态的操作之前,始终提交或存储未提交的更改。

于 2013-02-04T15:52:18.407 回答