【Git之窗】(十四)git pull 冲突的解决与避免

问题如图:

 


分析:
       1.项目分支:master和fcarloan_branch_V1.0.4,一个是主分支,一个是“电销分支”
       2.现在需要新建一个解决“is_rightnow_bill”问题的分支,我在本地checkout -b 一个新分支,如上(1.0.8)
       3.git pull origin fcarloan_branch_v1.0.8之后,报错,Conflict失败,我分析,是因为我从“V1.0.4”切换过去的,新建的分支,所以会报错,而线上的"V1.0.8"是从master基础上新建的,master其实很新了。  
       解决方案:“git merge --abort”命令,将刚刚来下的分支的冲突,解决掉。

实验:

       1.执行:git branch -D fcarloan_branch_V1.0.8   -- 删除v1.0.8分支 
       2.执行:git pull origin master -- 将master拉取到最新
       3.执行: git checkout -b fcarloan_branch_V1.0.8 -- 本地新建 V1.0.8分支
       4.执行: git pull origin fcarloan_branch_V1.0.8     (拉取成功,已经没有了冲突)

   

小结:

    1.问题原因在于我新建“V1.0.8”分支的时候,我是从"V1.0.4"的基础切过去的,然而远程的“V1.0.8”则是在最新的“master”基础上新建的,于是乎,冲突很多,是必然。

       2.思考这种场景会很多,如何规避。两个方法:

      (1)新建分支的时候,先切到master,pull最新的master,之后新建本地分支。

      (2)每次有别人上线的时候,把master和自己的代码合并,每次解决的冲突会很少,不至于最后一次的时候,冲突很多,而且比较久远,合并出错的概率无疑大大增加。






猜你喜欢

转载自blog.csdn.net/u013047584/article/details/79222629