如何在初始化后立即撤消空存储库中的拉?

时间:2013-02-04 15:34:03

标签: git

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

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

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

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

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

2 个答案:

答案 0 :(得分:5)

根据您上面给出的工作流程判断,您似乎已暂存了文件。那应该留下一些悬空的斑点,你应该能够恢复。

git fsck --lost-found

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

进一步讨论:Recover file after git pullRecovering added file after doing git reset --hard HEAD^

答案 1 :(得分:-1)

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