git 更新和冲突解决简单流程

   git 更新和冲突解决简单流程如下:

   

   流程如下:
   1.0) 建立分支branch1并切换过去
        git checkout -b branch1
        git branch   #查看是否顺利切换过去
   1.1)在branch1下修改文件后添加并递交到缓存区

        递交前可使用git status查看哪些文件作了更新。
        以上命令打印出的提示信息:
        # On branch branch1
        # Changes not staged for commit:
        #    (use "git add <file> ..." to update what will be committed)
        #    (use "git checkout -- <file>..." to discard changes in working directory)
        #    
        #    modified: demo_top.v
        以上提示信息说明了:
        a)当前所在分支为branch1
        b) 提示demo_top.v 被修改了。可以使用git add命令提交修改。或使用"git checkout --
demo_top.v"命令放弃修改,即恢复回修改前的内容。

        确定修改后递交更新:
        git add  文件名
        git commit 文件名 -m “注释说明”
   1.2)切换回master
        git checkout master
        git branch
   1.3) 从git更新,其他团队成员可能对同一个文件的相同行作了更新,从而可能在以下1.4步产生冲突
        git pull  
        使用git pull的作用:
        - 获取最新的数据
        - 发现冲突,并和其他团队成员沟通可能存在哪些问题,经协商后解决冲突
   1.4) git merge branch1 或git merge --no-ff branch1
        提示信息:
        Auto-merging design/rtl/demo_top.v
        CONFLICT (content): Merge conflict in design/rtl/demo_top.v
        查看文件demo_top.v, 发现标注了冲突行。

        建议使用git merge --no-ff branch1 #即保留分支痕迹,no-ff表示no fast forward,即在删
除分支后,仍保留修改信息。所谓的fast forward,即直接修改Master的HEAD指针,未修改整合master和branch1分支,故速度很快,但缺点是删除branch1时无法保留branch1的修改信息。

   1.5) 仅在master分支下改掉文件中的冲突,并重新递交到master分支的缓存区。
        在master 分支,修改demo_top.v, 添加并递交到缓存区
        git add demo_top.v
        git commit demo_top.v -m "master conflict correction"
        提示信息:
        fatal: cannot do a partial commit during a merge
        解决方法:
        git commit demo_top.v -i -m "master conflict correction"  #即独立递交demo_top.v
        或
        git commit -a -m "master conflict correction" 
        建议挨个确认冲突,独立递交每一个修改

        不需要在branch1下修改冲突并递交。原因为:在master下已通过git merge合并了branch1下的修改,而且合并后,可删除branch1。       
  1.6)push到远程,保证其他团队成员可获得最新的修改。
       git push origin master   #若第一次push,使用git push -u origin master

猜你喜欢

转载自blog.csdn.net/tbzj_2000/article/details/84775999