因此,这是一个特殊的情况,我已经多次遇到,并没有能够找出一个可行的工作流程。
场景我有一个远程git分支,回购有一些维护人员。我有本地复制的回购和我和维护人员是在同一分支工作在同一时间。远程和本地都是同步的。现在,维护人员要求我添加一个特性。我做了某些更改,并将分支扩展到不同的分支提交、推送和创建到主分支的pr。但与此同时,维护者已经确定了对主要分支的承诺。
因此,我从特性分支生成的pr在提交历史方面是不同步的,因为在主分支后面有一些提交。
为了使它们同步,并且只有一个提交在pr中,我做了一个手动过程,从原点移回主分支,创建一个名为feature2的新分支,并进行相同的更改,这是我早些时候在feature2特性分支中所做的,并再次创建了一个从feature2到主分支的新pr,并删除了最初的特性分支及其pr。
这似乎是一种错误的方式,也耗费了大量的时间。怎样才是解决这种情况的正确途径和流程?
发布于 2020-03-26 10:26:48
您必须将主(主)分支合并到您的功能分支中才能同步。
这里有一个包含必需的git命令的很好的gist。https://gist.github.com/santisbon/a1a60db1fb8eecd1beeacd986ae5d3ca
这样,它将使您的分支与最新的更改同步。
发布于 2020-03-26 10:44:55
你可以用
git fetch <remote_repo>
git rebase <remote_repo>/master topic
在发出第二次拉请求之前。
因此,您正在手动进行的操作已经在git中通过重基操作实现了自动化。
来自git手册
从这里开始, A---B---C topic / D---E---F---G master 的结果是以下任一命令的结果:
git rebase master
git rebase master topic
将是: A'--B'--C‘主题/D--E--F--G大师
https://stackoverflow.com/questions/60865013
复制相似问题