Git 删除了所有文件

Git removed all files

我刚刚通过应用

初始化了一个存储库
git flow init
git remote add origin git@gitlab.com:folder/project.git
git add .

我注意到我需要评论一个文件夹,然后使用

git reset --hard

并尝试将文件夹添加到 .gitignore,但是 所有未跟踪的文件夹都已删除,之后我使用了

git clean -f -d

现在我一无所有,我失去了我的整个项目,我不知道如何恢复它。

你在问为什么你所有的项目都消失了,所以让我们分解一下你的 git 命令 运行:

  1. git flow init 大致等同于 git init 并提交一个空的 "Initial commit" 和 develop b运行ch 分叉自 master.
  2. git remote add ... 将您的 GitLab 遥控器添加为本地遥控器,因此您可以 push/pull 使用它。
  3. git add . 已将本地目录 . 中的所有内容添加到您的 暂存区 ,它们已准备好提交。目前一切顺利!
  4. git reset --hard 是您 运行 遇到麻烦的地方。 The git documentation 表明 --hard 重置了索引和工作树 ,因此 对跟踪文件的任何更改都被丢弃 。这意味着您刚刚添加的所有内容都将恢复到上次提交(空提交)中的状态,因此您的文件已被删除。
  5. git clean -f -d 只是强行删除未跟踪的目录,我希望您在硬重置后有 none。

以后,我建议阅读 git reset 的文档,以便您了解为什么 --hard 以这种方式工作。作为记录,您在这里想要 运行 的可能只是 git reset 没有任何参数,这将取消所有已暂存的更改,但不会删除任何代码。然后,您的其他命令(例如编辑 .gitignore)就会像您预期的那样运行。