1
8
您可以使用
您可以使用
|
2
1
如果您真正想要的只是在提交拉请求之前压缩本地开发历史,那么最简单的方法就是只在本地功能分支上开发,它不同于您想要影响的任何上游分支。 然后,将其挤压到母版上的步骤是
(更换
我会用
|
3
0
|
4
0
将合并挤压工作流的问题放在一边,考虑到工作流经常超出您的控制范围,这已经在许多地方进行了彻底的讨论。 有一种方法你可以使用,虽然它不是百分之百有效,但根据我的经验,它确实有一个相当好的记录,而且总是故障安全的。 没有可依赖的祖先,您需要的是一种确定两个快照是否相同的方法。您可以将提交树的哈希用于以下命令:
为了检查是否可以删除分支,请首先将主控形状合并到分支中。如果此合并中存在冲突,或者原始挤压中存在冲突,则无法使用此方法(这是低于100%有效的部分)。 由于git的特性,如果不发生冲突,那么应用一组补丁的顺序并不重要。因此,如果您的分支已被合并,则此合并的结果应与主分支的头相同。通过比较两个分支头的树哈希可以确认这一点,您可以发现分支上是否存在任何未合并的代码。 这可以归结为一个单独使用的命令,可以很容易地别名如下:
或者内置到shell脚本中,该脚本将循环遍历所有本地分支,合并它们,测试它们,并删除已合并的分支。 综上所述,使用交互式重基来扁平化分支,并让维护人员对拉请求使用仅快进的合并策略,这一切都是不必要的。 |
charleslcso · 从开源克隆并推送到我的GitHub[重复] 1 年前 |
Itachi · 无法为python项目安装“DAWG”包 1 年前 |
Igor · git重置已删除目录上的头 2 年前 |
Robo · 撤消删除Git中被忽略的文件 2 年前 |
Ali EXE · 如何根据bat中命令的输出设置变量? 2 年前 |
ShortArrow · 如何使用git管理链接源文件? 2 年前 |
Siggi · 使用git移动文件时丢失历史记录 2 年前 |