git - 意外删除了本地 git 文件(未提交)。有没有办法让他们回来?
问题描述
我对 git 很陌生。我在本地对分支进行了很多更改,并想上传它。但我不小心点击了 github 桌面中的“Fetch origin”,这覆盖了我的本地文件。我丢失了大部分代码。然后我尝试通过进入 git bash 并编写一些命令来修复它(见图),但我认为我让它变得更糟了。
有没有办法恢复我的本地文件?
解决方案
您实际为其创建提交的所有更改仍然可以恢复。其他任何事情,我认为由于git reset --hard [sha]
您在终端上发出的命令而消失了。
好的; 在我看来,你不应该在不使用某种 Git GUI 的情况下开始使用 git。那里有很多,大多数应该可以正常工作,但我将专门指导使用GitExtensions,因为我看到你在 Windows 上,而且我知道它非常用户友好。它有一个我在任何其他 GUI 中都没有看到的特殊功能。View > Show reflog
. 这会在树视图中向您显示所有已提交的提交,而不仅仅是那些可从分支访问的提交。
- 安装 GitExtensions
- 使用它打开您的存储库
- 选择
View > Show reflog references
接下来,仔细环顾四周;是否有迹象表明您目前正处于合并或变基的中间?是否有未分阶段的变化?“提交”旁边的数字显示未暂存更改的数量;如果他们在那里,就提交那些。只要更改使其成为某个提交,它就不会被其他 git 操作真正丢失。而且,如果您有可见的 reflog 引用,您也不会因为使它们无法访问而丢失东西,因此您应该能够随意玩耍并制作分支并获取而不必担心太多。
您可能需要在包含您需要的文件的 reflog 中识别提交,在那里创建一个具有新名称的分支,并将其推送到远程。但是,如果您有更多问题,请通过评论告诉我。
推荐阅读
- sql - 异常 事务在触发器中结束。该批次已中止
- python - 使用 pandas python 分析电子表格时遇到问题
- artificial-intelligence - 关于二维迷宫中的 Q-learning 的问题
- vb.net - 进程的异步读取被暂停
- ansible - 为什么ansible ping模块任务是远程执行类型的?
- python - Python套接字输出错误的参数
- powershell - ConvertFrom-StringData 清除哈希表
- arrays - SVD图像重建MATLAB后如何找到数组中非整数值的数量?
- json - 无法从 JSON 响应快速将数据加载到 ViewController
- python-3.x - 使用 Selenium 和 Webdriver 启动 Firefox 浏览器时遇到错误