![]() |
1
8
您可以使用
您可以使用
|
![]() |
2
1
如果您真正想要的只是在提交拉请求之前压缩本地开发历史,那么最简单的方法就是只在本地功能分支上开发,它不同于您想要影响的任何上游分支。 然后,将其挤压到母版上的步骤是
(更换
我会用
|
![]() |
3
0
|
![]() |
4
0
将合并挤压工作流的问题放在一边,考虑到工作流经常超出您的控制范围,这已经在许多地方进行了彻底的讨论。 有一种方法你可以使用,虽然它不是百分之百有效,但根据我的经验,它确实有一个相当好的记录,而且总是故障安全的。 没有可依赖的祖先,您需要的是一种确定两个快照是否相同的方法。您可以将提交树的哈希用于以下命令:
为了检查是否可以删除分支,请首先将主控形状合并到分支中。如果此合并中存在冲突,或者原始挤压中存在冲突,则无法使用此方法(这是低于100%有效的部分)。 由于git的特性,如果不发生冲突,那么应用一组补丁的顺序并不重要。因此,如果您的分支已被合并,则此合并的结果应与主分支的头相同。通过比较两个分支头的树哈希可以确认这一点,您可以发现分支上是否存在任何未合并的代码。 这可以归结为一个单独使用的命令,可以很容易地别名如下:
或者内置到shell脚本中,该脚本将循环遍历所有本地分支,合并它们,测试它们,并删除已合并的分支。 综上所述,使用交互式重基来扁平化分支,并让维护人员对拉请求使用仅快进的合并策略,这一切都是不必要的。 |
![]() |
Ooker · 如何从blob中删除秘密? 6 月前 |
![]() |
lm. · Git安全还原到旧提交并返回到最新提交 10 月前 |
![]() |
FrenzyMan · GitHub来的时候不显示我的名字 11 月前 |
![]() |
overlappingd · GitHub在提交被合并到主仓库后仍显示提交 11 月前 |