<
孤立分支
>
上一篇

Idea 系列 删除 无效jdk
下一篇

Android remoteviews

需求:

将一份分离独立的 git 仓库 合并到 原来的 git 仓库,并且压缩历史提交。

分析:

  1. merge --square 不就是可以合并并压缩提交吗!正常操作的确没问题,但是现在相当于是两个 git 仓库,尝试一下会发现合并失败 fatal: refusing to merge unrelated histories,拒绝合并不相关的历史

  2. 直接 rebase 可以合并,但是会保留每次的提交,加上参数 -i 可以选择 square 压缩,但是有没有想过几十上百个 commit 要操作到什么适合

  3. 那么有没有一种方法可以像 rebase -i + square 的效果,答案是有很多的

孤立分支

同时会将目标分支所有提交复制到新分支合并重新提交一次,
此分支从原来的 commit 线分离并且会压缩所有的 commit,

从 feature/xxx 分支创建一个孤立分支 orphan/xxx, 执行以下代码将会要求重新 commit 一次 (SourceTree 上显示历史暂时是空的,不用惊慌,commit 之后就显示正常了)

git checkout --orphan orphan/xxx feature/xxx

再 commit + rebase 即可

Top
Foot