Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
git合并或重新设置过时分支的基础?_Git_Git Merge_Git Rebase - Fatal编程技术网

git合并或重新设置过时分支的基础?

git合并或重新设置过时分支的基础?,git,git-merge,git-rebase,Git,Git Merge,Git Rebase,我有一个主分支和另一个分支,假设B是主分支的一个分支。 B分支是实验性的,经历了很多修改,但被搁置了一年。 Master branch在那一年中取得了巨大进步,提交了无数次申请 但现在的情况是B分支合并到主分支中。 在这种情况下,哪种策略最好,git合并还是重新基础?如果需要合并大量工作,并且您希望逐步进行合并(以测试结果),那么直接合并可能会有问题 您可以尝试反复重新设置主版本的基础,直到最终达到提示。请注意,您不需要重新设置B本身的基础(如果它是公共的),只需复制B并重新设置基础即可 在这些

我有一个主分支和另一个分支,假设B是主分支的一个分支。 B分支是实验性的,经历了很多修改,但被搁置了一年。 Master branch在那一年中取得了巨大进步,提交了无数次申请

但现在的情况是B分支合并到主分支中。
在这种情况下,哪种策略最好,git合并还是重新基础?

如果需要合并大量工作,并且您希望逐步进行合并(以测试结果),那么直接合并可能会有问题

您可以尝试反复重新设置主版本的基础,直到最终达到提示。请注意,您不需要重新设置B本身的基础(如果它是公共的),只需复制B并重新设置基础即可


在这些情况下,另一个值得了解的工具是git的小心;在这里,“叉子”一词很可能是用词不当。你可能是说分支
B
源于
master
,或者类似的东西。还有其他人拥有分支B的本地副本吗?你关心保存历史吗?如果您回答否,则重新设置基础。只有当您将master合并到B并更新B时,才需要考虑具有B本地副本的人员。正如我阅读您的问题时,情况并非如此。您希望通过B的提交将master向前移动。因此,如果是我,我将从master重新设置B的基础,解决合并冲突,然后从那里开始
git fetch-p
git checkout B
git-rebase-origin/master
如果存在合并冲突:
git-mergetool
如果我不希望B中的所有更改,那么我会将B中的提交挑选到master中。