git pr 进行 merge时的冲突解决

  • 首先是自己提交的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
    
    解决冲突步骤
      1. 打开冲突文件,找到冲突部分
      1. 根据实际需要修改、保留、删除
      1. 保存
    • 通过 `git add "修改后的冲突文件"标记问已解决冲突的状态
    • 全部解决完成之后git commitgit push进行提交

补充 -- git讲解stage

补充 -- git取消合并的更多讲解