git - 如何在 Visual Studio 中执行双重 git init 命令后恢复文件
问题描述
我决定使用 Visual Studio 制作 git 存储库,并使用 VS 工具添加版本控制。我从来没有这样做过,所以我想我应该自己制作存储库,而 VS 只会制作 .git 并添加一些 gitignore 行。
我的项目包含一些公开危险的文件,但是当在 VS 中初始化 git 时,第一次提交包括我的文件。
- 然后我将此文件添加到 gitignore 并再次提交。
- 然后我意识到,如果我发布更改,这个文件仍然可以访问。所以,我试图删除 VS 中的第一次提交,但我不明白如何(虽然,我这样做了,我在恢复按钮上单击了几次,但什么也没发生)。
- 然后我只是打开命令行并输入
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/
。 - 然后我回到VS,看到那个项目已经关闭了。
- 然后我去了我的项目文件夹,我看到我所有的文件都不见了,除了那些在 gitignore 文件中的文件。
我没有做任何提交或推送。如何恢复我的文件?
PS:我还有 .vs 文件夹,里面有一些文件,这可以帮助我恢复我的项目吗?
解决方案
运行git-init
并没有删除您的文件。
git init
在现有存储库中运行是安全的。它不会覆盖已经存在的东西。重新运行的主要原因git init
是选择新添加的模板。
您的文件可能仍然存在于存储库中。
你可以试试:
- 从索引恢复:
git restore :/
- 从当前提交中重置文件:
git reset --hard
- 检查其他分支和历史 (
git log --graph --all --oneline
) - 按照Pro Git 的数据恢复从已删除的提交和对象数据库中恢复数据。
推荐阅读
- c - 如何在 uin8_t 类型的结构成员中复制 mac-address 字符串
- mysql - 如何在 SQL Server Management Studio 中创建和配置链接服务器以连接到 MySQL
- sql - 如何转置表格并将结果分组?
- java - 我有 java.net.MalformedURLException
- android - 通过 adb shell 获取应用程序中使用的所有库
- hadoop - 如何找出 hdfs URI - java.io.IOException:不完整的 HDFS URI,没有主机
- r - R:创建李克特比例条形图
- javascript - i18next 使用 i18next-xhr-backend 从 api 加载 json
- angular - 我正在使用 intro js angular 8 并且选择选项不起作用
- javascript - 按 json 的子数组中的元素过滤