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

33次阅读

共计 583 个字符,预计需要花费 2 分钟才能阅读完成。

场景:
近程仓库的工夫线从前到后一共有 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…

正文完
 0