git将另一个分支的基础重设为我的工作分支

git将另一个分支的基础重设为我的工作分支,git,merge,version-control,rebase,Git,Merge,Version Control,Rebase,我想知道如何从分支所在的分支获取提交,将所有提交应用于我的工作分支,并再次应用我的工作分支提交 例如: develop是我从-->working_分支中分支出来的分支。 我在working_分支工作,过了一段时间,我想将所有提交从develop拉到我的工作分支,并想将我的提交放在develop上完成的所有提交之上 我希望这是可以理解的。 我知道可以重新设置开发的基础,但问题是如何创建适当的合并请求。 在重新定位到develop之后,我无法推送develop分支并创建合并请求 那么,实现这一目标的

我想知道如何从分支所在的分支获取提交,将所有提交应用于我的工作分支,并再次应用我的工作分支提交

例如: develop是我从-->working_分支中分支出来的分支。 我在working_分支工作,过了一段时间,我想将所有提交从develop拉到我的工作分支,并想将我的提交放在develop上完成的所有提交之上

我希望这是可以理解的。 我知道可以重新设置开发的基础,但问题是如何创建适当的合并请求。 在重新定位到develop之后,我无法推送develop分支并创建合并请求

那么,实现这一目标的命令是什么呢


如果完全没有意义,我很抱歉。

您最初问的答案是如何移动提交。字面上的答案是,您不能移动提交,但可以重新设置它们的基础(创建新的提交,在不同的提交上应用相同的更改,并将分支移动到新的提交),这是您已经知道的。所以这不是你真正的问题

无法推送的原因是这样做会从分支中删除历史记录。在你拥有的重新基准之后

                       A' -- B' -- C' <--(feature)
                      /
x -- x -- x -- x -- x <--(develop)
      \
       A -- B -- C <--(origin/feature)

一个警告是,根据git的托管方式,服务器可能被配置为允许或不允许您强制推送到该分支。如果没有,那么这就是团队级别的规则,即“您不能重新设置已推送的分支的基础”。在这种情况下,您必须决定是否值得将
开发
合并到
功能中

为什么不进行合并?这是我想要将两个分支机构合并在一起的标准反应。这是我想做的,但我的同事总是告诉我要在开发上重新设置基础。所以我不明白。可能是因为那时冲突太多了,因为我的分支太老了,而开发分支进化太多了。因此,最好先应用develope中的提交,然后再应用我的工作提交。我真的不确定什么是正确的方法。我认为你需要阅读这篇文章合并和重新基础非常相似@Liam的可能重复:
rebase
merge
可能会导致非常不同的历史,许多开发工作流希望开发人员在功能分支上使用
rebase
,当实际向主分支提交新功能时,将使用
merge
git push -f