如何在GIT中导入其他分支机构的变更?

r8uurelv  于 2022-12-10  发布在  Git
关注(0)|答案(2)|浏览(124)

我已经在Dev分支上创建了一个名为“multiple_fixes”的分支,并且已经在那里工作了几个星期。当我在我的分支上工作的时候,其他几个人在我创建分支之后也创建了分支,并且从那时起向Dev分支发出了拉取请求。
现在,我已准备好将我的变更合并到Dev中,但是我有许多档案是目前Dev分支的下层。如果我执行提取要求,我将会复原其他人已签入的所有变更。
如何将Dev的当前更改拉入我的分支,而不覆盖我的工作?

os8fio9y

os8fio9y1#

合并两个分支不会覆盖一个分支的更改。Git会执行一个 * 三向合并 *,并尝试合并更改。这在大多数情况下有效,但也可能失败;特别是在两个分支中更新了同一行或者修改了两个非常接近的行时。

8yparm6h

8yparm6h2#

在合并之前你应该执行rebase,它会将目标分支的提交合并到当前分支。如果有冲突,git会自动启动冲突解决器,默认编辑器。

git rebase origin dev
git push -f

git fetch --all
git checkout dev
git pull
git checkout multiple_fixes
git rebase dev
git push -f

-f标记可以防止在pull-push上重复提交,如果您的分支/存储库设置允许的话,如果不允许,请使用git pull; git push

相关问题