美文网首页
git如何合并远程2个分支

git如何合并远程2个分支

作者: hloong | 来源:发表于2017-12-13 19:31 被阅读39次

    提要:项目用的gitlab,手动在管理后台只能新建删除以及合并master分支,并不能合并2个有冲突的分支,所以还得用命令行

    1,先检出项目到一个文件夹

    git clone

    2,你检出的项目默认是master,所以现在要查看远程全部分支

    git branch -a

    * master
      remotes/origin/HEAD -> origin/master
      remotes/origin/v1.2
      remotes/origin/master
      remotes/origin/v1.1
      remotes/origin/v1.0
    

    git 检出远程分支
    git checkout -b 本地分支名x origin/远程分支名x
    使用该方式会在本地新建分支x,并自动切换到该本地分支x。
    git fetch origin 远程分支名x:本地分支名x
    使用该方式会在本地新建分支x,但是不会自动切换到该本地分支x,需要手动checkout。

    3,切换分支

    比如同时有三个人开发,1.2最早是基于1.0,但是由于项目未发布,1.0,1.1,1.2全部都在同时开发,现在想把1.0已经增加的功能先合并到1.2;

    • 此时的步骤:check 1.2和1.0

    git checkout v1.0
    git checkout v1.2

    • 然后再v1.2的分支基础上执行merge

    git merge v1.0
    表示把v1.0的代码合到当前分支上,如果你在master分支上执行此命令,那么就会把v1.0的代码迁移到master

    • 如果没有报错,那就直接提交代码git push origin v1.2
    • 如果报错,基本是冲突了(比如):
    CONFLICT (content): Merge conflict in app/src/main/AndroidManifest.xml
    Auto-merging app/build.gradle
    CONFLICT (content): Merge conflict in app/build.gradle
    Automatic merge failed; fix conflicts and then commit the result.
    
    
    • 你需要去到提示的文件里把git自动标注的版本冲突注释掉,看你具体需要的功能进行删减

    • 然后把冲突的文件git add,和commit
      ,比如你有2个冲突文件,多文件add的时候直接空格隔开

    git add app/src/main/AndroidManifest.xml app/build.gradle
    

    最后再commit

    git commit -m "解决2个分支之间的冲突"
    

    4,提交代码

    git push origin v1.2

    5,搞定

    参考命令:

    Git鼓励大量使用分支:
    查看分支:git branch
    创建分支:git branch <name>
    切换分支:git checkout <name>
    创建+切换分支:git checkout -b <name>
    合并某分支到当前分支:git merge <name>
    删除分支:git branch -d <name>
    

    相关文章

      网友评论

          本文标题:git如何合并远程2个分支

          本文链接:https://www.haomeiwen.com/subject/nlvzixtx.html