git pr 进行 merge时的冲突解决
2024-09-30
3 min read
- 首先是自己提交的pr和主分支出现了冲突 合并被reject
- 然后先拉取主分支 确认本地有两个:**当前分支 **和 主分支
- 然后将拉取到本地的主分支和自己的分支在本地merge(是本地 上 将远程分支合并到自己的分支)
- 逐文件、逐行确认冲突,是保留自己的?保留主分支?或是一起修改?
- 确认完成之后,即远端和自己的分支在本地合并完毕
- 然后将解决冲突完成的自己的分支提交到远程仓库的自己的分支
- 在负责人确认无误后 同意本次pr即完成冲突解决
#可能用到的命令
#查看分支
git branch
#切换分支
git checkout
#查看分支更新日志(有分支的编码) 用来比对冲突的分支的版本、对比当前分支是否是最新的
git log
#将branchname合并到当前分支
git merge<branchname>
# 切换到分支branchname
git checkout <branchname>
# 查看仓库状态 冲突的文件会是红色的
git status
#查看具体冲突
git diff "冲突的文件"
# 将远程指定分支 拉取到 本地指定分支上
git pull origin <远程分支名>:<本地分支名>
#取消尚未完成冲出处理的merge - 回滚到合并前的状态
git merge --abort
- 合并冲突方式
- 在vsc中,可以通过多屏协调进行选取(左右分别为本地、主分支,底部为合并后的)
- 在命令行中,需要结合编辑器进行修改
解决冲突步骤<<<<<<< HEAD 修改后的代码(当前分支的修改) ======= 修改后的代码(冲突分支的修改) >>>>>>> branch_name
-
- 打开冲突文件,找到冲突部分
-
- 根据实际需要修改、保留、删除
-
- 保存
- 通过 `git add "修改后的冲突文件"标记问已解决冲突的状态
- 全部解决完成之后
git commit
和git push
进行提交