欢迎关注大数据技术架构与案例微信公众号:过往记忆大数据
过往记忆博客公众号iteblog_hadoop
欢迎关注微信公众号:
过往记忆大数据

Git 删除指定 commit

我们在开发过程中,难免会进行一些误操作,比如下面我们提交 723cc1e commit 的时候把 2b27deb 和 0ff665e 不小心也提交到这个分支了。

Git 删除指定 commit
如果想及时了解Spark、Hadoop或者HBase相关的文章,欢迎关注微信公众号:过往记忆大数据

0ff665e 是属于其他还没有合并到 master 分支的 MR,所以我们这里肯定不能把它带上来。我们需要把它删了。值得高兴的是,git 给我们提供了 rebase 相关的命令来实现这个目标。下面我们来一步一步地介绍如何实现。

我们可以先使用 git log 命令查看本地代码的 log 信息,得到的结果如下:

Git 删除指定 commit
如果想及时了解Spark、Hadoop或者HBase相关的文章,欢迎关注微信公众号:过往记忆大数据

蓝色框里面的代码其实就是我这次需要提交的;而红色框里面的代码其实是属于另外一个 MR,需要我们删除。我们找到红色框提交的上一次提交的六位 hash 值,也就是 029e3f,然后执行下面命令:

git rebase -i 029e3f

这时候会进入到下面页面,可以看到里面有五次 commit,第一条其实是需要我们删除的,第五条其实就是我们本次提交的,需要保存。

Git 删除指定 commit
如果想及时了解Spark、Hadoop或者HBase相关的文章,欢迎关注微信公众号:过往记忆大数据

我们只需要把第一条记录删除,然后按 :wq,这时候就会把第一条 commit 删除,我们可以使用 git log 命令查看是不是生效了:

Git 删除指定 commit
如果想及时了解Spark、Hadoop或者HBase相关的文章,欢迎关注微信公众号:过往记忆大数据

可以看到确实生效了,如果我们需要把这个结果同步到线上,需要执行下面的命令:

⇒  git push origin join_pushdown -f
枚举对象中: 394, 完成.
对象计数中: 100% (394/394), 完成.
使用 8 个线程进行压缩
压缩对象中: 100% (207/207), 完成.
写入对象中: 100% (255/255), 149.26 KiB | 2.76 MiB/s, 完成.
总共 255(差异 139),复用 0(差异 0),包复用 0
remote: Resolving deltas: 100% (139/139), completed with 108 local objects.
To https://github.com/iteblog/presto.git
 + 723cc1e2bb...d3a078cd11 join_pushdown -> join_pushdown (forced update)

好了,到这里我们已经删除了不必要的 commit 了。

本博客文章除特别声明,全部都是原创!
原创文章版权归过往记忆大数据(过往记忆)所有,未经许可不得转载。
本文链接: 【Git 删除指定 commit】(https://www.iteblog.com/archives/9940.html)
喜欢 (1)
分享 (0)
发表我的评论
取消评论

表情
本博客评论系统带有自动识别垃圾评论功能,请写一些有意义的评论,谢谢!