首页 > 解决方案 > 如何在 Visual Studio 中执行双重 git init 命令后恢复文件

问题描述

我决定使用 Visual Studio 制作 git 存储库,并使用 VS 工具添加版本控制。我从来没有这样做过,所以我想我应该自己制作存储库,而 VS 只会制作 .git 并添加一些 gitignore 行。

我的项目包含一些公开危险的文件,但是当在 VS 中初始化 git 时,第一次提交包括我的文件。

  1. 然后我将此文件添加到 gitignore 并再次提交。
  2. 然后我意识到,如果我发布更改,这个文件仍然可以访问。所以,我试图删除 VS 中的第一次提交,但我不明白如何(虽然,我这样做了,我在恢复按钮上单击了几次,但什么也没发生)。
  3. 然后我只是打开命令行并输入git init. 我看到了Reinitialized existing Git repository in D:/Projects/Programing projects/C C++/QT/SushiWokAdmin/MY_GREAT_PROJECT_I_WAS_MAKING_IT_FOR SEVERAL_WEEKS/.git/
  4. 然后我回到VS,看到那个项目已经关闭了。
  5. 然后我去了我的项目文件夹,我看到我所有的文件都不见了,除了那些在 gitignore 文件中的文件。

我没有做任何提交或推送。如何恢复我的文件?

PS:我还有 .vs 文件夹,里面有一些文件,这可以帮助我恢复我的项目吗?

标签: gitvisual-studiofilerestoreinit

解决方案


运行git-init并没有删除您的文件。

git-init 文档

git init在现有存储库中运行是安全的。它不会覆盖已经存在的东西。重新运行的主要原因git init是选择新添加的模板。

您的文件可能仍然存在于存储库中。

你可以试试:

  1. 从索引恢复:git restore :/
  2. 从当前提交中重置文件:git reset --hard
  3. 检查其他分支和历史 ( git log --graph --all --oneline)
  4. 按照Pro Git 的数据恢复从已删除的提交和对象数据库中恢复数据。

推荐阅读