关于git:git-批量删除commit-history

场景:
近程仓库的工夫线从前到后一共有6个提交,别离为A B C D E F(A是近程仓库第一个提交)
当初须要实现删除B C D的提交记录,让近程仓库的工夫线上只呈现 A E F。

操作方法
1、git rebase –onto commit-id^ commit-id (具体用哪个comiit-id 看下文举例)
2、解决好rebase之后的抵触(不肯定会产生),解决完抵触之后,本地分支上曾经没有了BCD的记录。
3、git push –force 强制推送到近程仓库

举例实操:
A (commit-id -> af65e5eff383ec5d36d530283ab5ec55fdeb87a5)
B
C
D (commit-id -> ef499db0cbfc959377c5e249e5f0b0d013623898)
E
F

须要删除 B C D的记录
那么须要 git rebase –onto (hash for A)^ (hash for D)

命令行输出
1、git rebase –onto af65e5eff383ec5d36d530283ab5ec55fdeb87a5^ ef499db0cbfc959377c5e249e5f0b0d013623898
2、手动解决抵触
3、git push –force

留神:
A作为近程仓库的第一个提交,这条提交记录无奈被删除。

完结。

同步更新到本人的语雀
https://www.yuque.com/diracke…

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理