git 怎样删除远程仓库的某次错误提交?

假设你有3个commit如下:

commit 3
commit 2
commit 1

其中最后一次提交commit 3是错误的,那么可以执行:

git reset --hard HEAD~1

你会发现,HEAD is now at commit 2

然后再使用git push --force将本次变更强行推送至服务器。这样在服务器上的最后一次错误提交也彻底消失了。

值得注意的是,这类操作比较比较危险,例如:在你的commit 3之后别人又提交了新的commit 4,那在你强制推送之后,那位仁兄的commit 4也跟着一起消失了。

b00cc5a是git上提交的番号,想退到哪里就写哪里。

iosdeMac-mini-2:ZZV2ex ios$ git reset b00cc5a

iosdeMac-mini-2:ZZV2ex ios$ git push --force

Total 0 (delta 0), reused 0 (delta 0)

To https://github.com/mlpqaz/V2ex.git

+ 7336f1a...b00cc5a master -> master (forced update)

iosdeMac-mini-2:ZZV2ex ios$

时间: 2024-10-21 15:58:24

git 怎样删除远程仓库的某次错误提交?的相关文章

git查看添加删除远程仓库

查看远程仓库 git remote -v 删除远程仓库 git remote remove origin 添加远程仓库 git remote add origin 仓库地址 原文地址:https://www.cnblogs.com/haws/p/gitRemote.html

如何创建/修改远程仓库 + 如何删除远程仓库 + 如何删除远程仓库中的某个文件或文件夹 + 如何使用git将本地仓库连接到多个远程仓库

首先我们来区分一些概念.术语.名词.不然脑子一锅粥,总是晕!!!博主对此深有体会!从中学到了没事要多总结.多归类! 仓库有本地仓库和远程仓库之分.仓库都可以叫做服务端(器).本地仓库有:Windows.Linux.MacOS.(指的是运行在不同系统下的本地仓库)远程仓库有:GiuHub(国外).Gitee码云(国内).Coding(国内)等等.(说白了就是服务器)那么服务端可以分为:本地服务端(器).远程服务端(器).连接仓库的方式有:https.SSH等等.连接仓库的客户端软件(工具)有:Gi

Git 学习笔记<远程仓库与标签管理> (四)

什么是远程仓库? 就像第一章介绍的那样,远程仓库可以储存你编写的所有源码和资源文件. 甚至也可以当网盘使,不过当然有很多契合git管理文本的特性. 下面就要以 github 为示例远程仓库进行介绍.  (也可以自己弄一台服务器作远程仓库). 创建仓库 在主页找到 +New repository 或者右上角的加号里有.输入名字 描述 然后没钱只能public就能确定了.然后呢,点名字打开你的仓库.(主页右下角可以找到) 关于与远程仓库的连接 首先你打开你的保险箱得先证明身份吧,不然我怎么知道你是客

Git(进击学习:远程仓库操作)-V3.0

1.查看当前的远程仓库:git remote或git remote -v 2.添加远程仓库:git remote add [shortname] [url] git remote add pb git//github.com/pa/tic.git 现在可以用字符串 pb 指代对应的仓库地址了 3.查看远程仓库信息:git remote show [remote-name] git remote show origin 4.推送数据到远程仓库:git push [remote-name] [bra

解决git push至远程仓库失败的问题

产生问题的原因: 远程仓库存在本地不存在的文件, 一个常见的例子是创建repository时勾选了README.md, 但此时本地还没有这个文件, 就会导致本地文件无法同步到远程仓库的问题. 解决方法: 在git push至远程仓库之前, 先将远程仓库文件同步至本地. 执行下面命令 git pull --rebase origin master 原文地址:https://www.cnblogs.com/shaohsiung/p/9535934.html

[git] git拉取远程仓库,同步远程分支,解决冲突

[git] git拉取远程仓库,同步远程分支,解决冲突 1.本地仓库存在 本地仓库与远程master已绑定 1.拉取远程分支到本地 git fetch origin dev(远程分支名) 2.在本地创建该分支并切换 git checkout -b dev(本地分支名) origin/dev(远程分支名) 3.把分支代码拉取到本地 git pull origin origin dev(远程分支名) 2.本地仓库不存在 1.克隆远程仓库 git clone 远程库地址 2.拉取远程分支到本地 git

git正确的删除远程仓库的文件并用.gitignore忽略提交此文件

我向远程仓库提交了如下文件src/ pom.xml target/ WebContent/,发现没必要提交target目录. 于是做了如下操作: git rm -r --cached target git commit -m "delete target/" git push origin master 打开github看一下,target目录是不是没有提交了! 如果想把target目录以后都不用提交,可以作如下 vi .gitignore #写入: target/ #可以在.giti

git删除远程仓库文件

这里我使用的是GitLab 1.先在本地git清除文件夹 git rm xxx(xxx表文件名)  -r ( -r 当给出主目录名时允许递归删除) 2.本地提交 git commit -m''(-m 备注) 3.最后push到远程仓库 git push -u origin master 原文地址:https://www.cnblogs.com/hdllhd/p/8521494.html

Git操作:远程仓库(git remote)的添加、管理和删除

这是你的git仓库,他已经添加了一个远程仓库,可以用git remote -v查看绑定的仓库列表,他会以<仓库名>  <仓库地址>的形式展示出来(一个仓库会显示两遍): $ git remote -v origin https://xxx.com/lyj00912/xxx.git (fetch) origin https://xxx.com/lyj00912/xxx.git (push) 如果要删除一个仓库,可以用git remote remove <仓库名>来删除这个