Git push成功后,远程仓库将文件显示为已删除,且找不到push的文件
git推送远程成功后,
在远程服务器上,并未看到推送的文件,且
git status 出现如下:
1 2 3 4 5 | # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # deleted: 1 .txt # deleted: 2 .txt |
如何才能看到推送的文件?
1、输入:git log
1 2 3 4 5 | commit 8fb40da4dee26b4dbaa424eb5c60ee9d40c3ad30 Author: an < 12345678 @163 .com> Date: Mon Jun 7 21 : 27 : 00 2021 + 0800 第一次提交 1 .txt 2 .txt |
2、输入:git reset --hard 8fb40da4dee26b4dbaa424eb5c60ee9d40c3ad30
3、输入:ls (即可看到推送上来的文件)
Git push成功后,远程仓库将文件显示为已删除,且找不到push的文件,原因:
如果使用了git init初始化,则远程仓库的目录下,也包含work tree,当本地仓库向远程仓库push时,
如果远程仓库正在push的分支上(如果当时不在push的分支,就没有问题), 那么push后的结果不会反应在work tree上, 即在远程仓库的目录下对应的文件还是之前的内容,
必须得使用git reset --hard 回退到此时HAED知道的位置才能看到push后的内容。
办法:
如果服务器仓库在master分支上,且在本地master分支刚好向服务器master分支上push了。就使用git reset --hard 版本号(前6位或完整版本号都行)
参考
Git使用基础---git init 与git init --bare的区别
标签:
git
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY