python - git force push 后文件丢失
问题描述
我做了一个新文件,我想把它推送到我的远程仓库。但我不小心强制推送新文件并覆盖它。所以,我错过了远程仓库中以前的文件,现在只有新添加的文件在我的远程仓库中可用。有什么办法可以恢复我丢失的文件?
解决方案
git
有一个很大的撤消堆栈:git reflog
您可能可以在以下两个位置之一找到您“覆盖”的提交的 sha1:
git reflog
:曾经是您正在处理的活动提交的所有提交的历史记录git reflog origin/master
(或git reflog origin/anybranch
):您看过的所有地方的历史记录origin/master
,每次跑步时都会更新git fetch
或git pull
拥有此 sha1 后,您可以:
- 在它之上重新设置:
git rebase sha1
- 获取文件的先前内容并对其进行处理:
git checkout sha1 -- the/file
- ...
推荐阅读
- excel - 扫描一个单元格,有 2 个变量( cells(i,j) )
- database - 如何将 Syncfusion 图表绑定到 SQL 数据源?
- macos - MPID_nem_tcp_init(384).............: gethostbyname 失败,Mac (errno 1)
- php - 一个键的 JSON 总和值,其中有更多具有相同名称的键 PHP
- wpf - CefSharp 添加 ssl 代理使应用程序不加载任何网站
- php - 访问了用laravel制作的网站的几个页面后无法浏览子域
- python - 如何使用 tensorflow 对象检测仅检测人员?
- c - ZLIB 中是否有 fmemopen()
- python - NumPy 数组转换
- .net - 如何找到泛型参数的 TypeSpec