git merge - 本地解决无权限dev分支的合并冲突

295 阅读2分钟

场景:当你提交了一个“请将 feature/common 合并到 dev 分支”的 merge 请求,但拥有dev分支权限的人在合并时出现了冲突,你可以在本地处理冲突,然后将处理后的代码推送到远程,再更新 merge 请求。

1. 获取远程更新

首先,确保你已经在本地获取了最新的远程代码。你需要将 dev 分支拉取到你的本地,并合并到 feature/common 分支中。

# 切换到你的 feature/common 分支
git checkout feature/common

# 获取远程仓库的所有更新
git fetch origin

# 将 dev 分支的最新代码合并到 feature/common 分支
git merge origin/dev

2. 解决冲突

如果存在冲突,Git 会提示你哪些文件有冲突。你需要手动打开这些文件并解决冲突。冲突部分会被标记为如下所示:

你需要决定哪一部分代码应该保留,或是结合两部分代码进行修改。解决完冲突后,保存文件并标记为已解决:

git add <file>  # 将解决冲突后的文件添加到暂存区

4. 推送代码

然后将本地的 feature/common 分支推送到远程仓库,以更新你的 merge 请求:

git push origin feature/common

5. 更新 Merge 请求

在你推送代码后,Git 仓库平台(如 GitHub 或 GitLab)会自动更新你的合并请求(Merge Request)。拥有 dev 分支权限的人可以查看并完成合并。

6. (可选)删除本地合并的分支

如果合并请求完成,且不再需要在本地继续开发 feature/common,你可以删除本地分支:

git branch -d feature/common

总结

通过上述步骤,你可以在本地拉取最新的 dev 分支,解决冲突,提交修改,并推送到远程。这样,feature/common 分支的 merge 请求会被更新,并且拥有 dev 分支权限的人可以继续合并操作。