git如何删除远程仓库的某次错误提交
git如何删除远程仓库的某次错误提交
如果远程仓库,能ssh访问,那就跟本地没什么区别
reset命令有3种方式
git reset --mixed
此为默认方式,不带任何参数的git reset,就是这种方式,它回退到某个版本,只保留源码,回退commit和stage信息
git reset --soft
回退到某个版本, 只回退了commit的信息,不会恢复stage(如果还要提交,直接commit即可)
git reset --hard
彻底回退到某个版本, 本地的源码也会变为上一个版本的内容
我们在远程server的仓库目录, 执行第2种soft reset就可以了
如果不能ssh访问,比如 code.csdn.net 和 code.jd.com
那么
1)在本地把远程的master分支删除
2)再把reset后的分支内容给push上去
新建old_master分支 作为备份,以防万一
git branch old_master
将本地的old_master分支 推送到远程的old_master
git push origin old_master:old_master
本地仓库 彻底回退到某一个版本
git reset –hard
删除远程的master分支 (注意master前有个:)
git push origin :master
重新创建远程master分支(这跟我们第1次提交本地代码库给远程仓库的命令一样吧)
git push origin master
请参考
删除远程分支
如果不再需要某个远程分支了,比如搞定了某个特性并把它合并进了远程的 master 分支(或任何其他存放稳定代码的分支),
可以用这个非常无厘头的语法来删除它:
git push [远程名] :[分支名]
如果想在服务器上删除 serverfix 分支,运行下面的命令:
$ git push origin :serverfix
To git@github.com:schacon/simplegit.git
– [deleted] serverfix
咚!服务器上的分支没了。
你最好特别留心这一页,因为你一定会用到那个命令,而且你很可能会忘掉它的语法。
有种方便记忆这条命令的方法:
记住我们不久前见过的 git push [远程名] [本地分支]:[远程分支] 语法
如果省略 [本地分支],那就等于是在说“在这里提取空白然后把它变成[远程分支]”。
上面这小段话,来自权威文档http://git-scm.com/book/zh/Git-%E5%88%86%E6%94%AF-%E8%BF%9C%E7%A8%8B%E5%88%86%E6%94%AF
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南