Git 是否将功能分支与不带重基的主功能同步?

Git 是否将功能分支与不带重基的主功能同步?,git,git-merge,git-rebase,feature-branch,Git,Git Merge,Git Rebase,Feature Branch,在工作中,我们在功能分支模型的基础上进行开发,在该模型中,所有集成最终都在主分支中进行。我们从master和merge分支到master。这导致了一个非常复杂的历史图表,我们正在寻找简化开发工作流程的方法 这样做的一种方法是重新设置基址,而不是合并。但是,我们安装了一个内部GitLab实例,其中禁用了覆盖权限(并且不会仅为我们的项目启用这些权限)。因此,重新设置基址是不可能的 我真的看不出有什么办法。但我不是Git专家,我可能遗漏了一些东西 有什么建议吗?编辑-我的第一个答案绝对不是最好的方法,

在工作中,我们在功能分支模型的基础上进行开发,在该模型中,所有集成最终都在
主分支中进行。我们从
master
merge分支到
master
。这导致了一个非常复杂的历史图表,我们正在寻找简化开发工作流程的方法

这样做的一种方法是重新设置基址,而不是合并。但是,我们安装了一个内部GitLab实例,其中禁用了覆盖权限(并且不会仅为我们的项目启用这些权限)。因此,重新设置基址是不可能的

我真的看不出有什么办法。但我不是Git专家,我可能遗漏了一些东西


有什么建议吗?

编辑-我的第一个答案绝对不是最好的方法,尽管它会起作用。我把它放在下面,以防有人感兴趣。更好的答案如下:

您可以与一系列提交一起使用,将
featurebranch
一次提交一个提交到
master
。任何提交范围规范都可以,但在您的情况下,最简单的可能是(在已签出master的情况下):

这意味着“樱桃摘下所有在featurebranch上但不在master上的东西”

旧的、糟糕的解决方案

你可以使用和

在分支上运行
featurebranch
时,运行
git格式补丁主程序
将为
featurebranch
上未在
master
上的每个提交生成补丁文件。然后,您可以切换到
master
,并使用
git-am
应用修补程序


(在更简单的情况下,
featurebranch
没有与任何人共享,那么您可以改为针对
featurebranch
重新设置
featurebranch
的基础,而不是针对
master
重新设置
featurebranch
,这将使
featurebranch
成为具有额外佣金的
master
的副本。)ts在顶部,然后根据
featurebranch
重新设置
master
的基址,这将使git快进
master

在最新的主机上创建一个新的分支,并在新的分支上应用来自功能分支的所有提交。这将创建一个在主机上重设基础的新分支。我想这是一个明智的解决方案@BartlomiejLewandowski。我认为这太混乱,开销太大。我意识到有一个非常简单的方法,我想e编辑了我的答案,将其包括在内。
git cherry-pick featurebranch ^master