zoukankan      html  css  js  c++  java
  • Git冲突处理测试

       手动制造冲突并使用Git进行处理。

      练习:

      首先创建一个测试文件 readme.txt

      

      存入一些测试数据

      

      查看此时仓库状态

      

      将测试文件加到暂存区

      

      提交并推送到远程

      

      将测试文件同步到测试分支

      

      修改测试文件

      

      对比文件

      

      将修改后的文件提交到远程仓库

      

      在网页上进行合并,将分支合并到master分支上

      切换到master分支

      对测试文件进行修改

      

      添加修改提交并推送到远程

      

      出现冲突,不能推送到远程,远程仓库的版本比本地的新,需要先将远程的修改同步到本地

      在将其推送到远程。

      建议向远程仓库推送之前先pull一下,看远程仓库是否有更新,然后在进行push操作

      将远程仓库的代码pull到本地,提示冲突

      

      对比冲突文件

      

      Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,其中<<<HEAD是指主分支修改的内容,

      >>>>>分支 是指分支上修改的内容,手动处理冲突:一般将标记去掉,其余保留。

      处理之后添加到暂存区提交

      

      

      在将其推送到远程仓库,对比前后右上角master的标志,发现MERFING自动消失

      

      冲突处理完成。

    我们大部分时候都是创建自己的分支在自己的分支上面进行开发,推送到远程与主分支进行合并的,

      如果遇到冲突,如果是一个文件有冲突,可以在远程网页上进行冲突的处理然后进行合并。

      但是如果冲突的文件大于一个在远程就无法解决冲突,需要在本地进行解决。

    采用git 命令进行冲突处理

    # 取远程仓库中的代码
    git fetch origin
    # 在本地创建一个分支,和远程主机上的冲突分支建立连接,并切换到这个分支
    # Branch 'ceshi' set up to track remote branch 'leilong' from 'origin'.                
    git checkout -b ceshi origin/leilong
    #在当前分支上合并master(需要保证本地master与远程仓库的master上是同步的)
    git merge master
    如果发生冲突,需要手动解决。    
    冲突的文件在开发工具中会标红提示,需要手动的解决这些冲突。可以采用上面的方法进行处理
    手动解决冲突后重新添加文件索引。
    再次进行commit提交。会发现分支旁边的 merging消失。
    
    Step 2: Merge the changes and update on GitHub.
    # 切换回master分支,将新创建的分支合并到master上推送到远程,冲突解决
    git checkout master
    git merge --no-ff ceshi  (分支名)
    git push origin master
  • 相关阅读:
    初步理解Java的三大特性——封装、继承和多态
    设计模式
    区分super和this
    类—矩形面积
    生成不重复的随机数(待完善)
    关于类的创建和调用
    生成验证码
    endsWith和startsWith同样效果其他形式的写法(2016.1.12)
    去除字符串中空格的方法(2016.1.12P141-2)
    java的抽象类
  • 原文地址:https://www.cnblogs.com/leilong/p/8611958.html
Copyright © 2011-2022 走看看