git如何合并远程2个分支

提要:项目用的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>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容