Git分支的创建以及分支冲突解决

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git分支的创建以及分支冲突解决相关的知识,希望对你有一定的参考价值。

参考技术A     在Git中的每次提交,Git都会把它们串成一条时间线,这条时间线就是一个分支,但是到目前为止,我们只有一条分支 master 分支,也就是我们的主分支,在实际的项目开发过程中,我们并不会在 master 分支上进行开发,而是会新创建一个分支,然后在这个新创建的分支上开发测试,全部没有问题后,再合并到主分支上。比如我要开发一个项目中的一个功能,我就要新创建一个属于我的分支,这个分支会拷贝主分支的一个完全的副本,我在这个分支上进行的各种操作,不会对其他人的开发造成影响,当我的功能开发测试完成后,就把我的分支合并到 master 主分支上。
    在我们以前看到的, git log 中, HEAD 严格来说不是指向提交,而是指向 master , master 才是指向提交的,所以 HEAD 指向的就是当前的分支。
    使用Git进行团队开发的过程中,Git是鼓励大量使用分支的:
    查看分支: git branch ,*的意思是当前停留在哪个分支上。

git入门:创建合并分支 解决冲突 分支管理策略

分支创建与合并

理解:相当于创建多一个与现在一模一样的平行时空 在这基础上继续干活 但其实并不会影响到当前时空 ,合并时再决定A时空并入B时空 还是B 时空并入A和空

查看分支 git branch;

创建分支 git branch ‘分支名‘

切换分支 git checkout ‘分支名‘

创建加切换 git checkout -b ‘分支名‘

合并某分支到当前分支 git merge ‘分支名‘

删除分支 git branch -d ‘分支名

 

 

 

解决冲突

 

假设现在有主分支(master) 和 新建分支(dev)

master(修改)---dev(修改)  //dev分支存在后  2者再进行修改

master 合并 会提示 

技术分享图片

然后我们打开 它所提示的文件 readme.txt

技术分享图片

红色区域为冲突区域 我们只要在上面进行内容取舍便可

处理好 add + commit 即可出一个无冲突版本(Resolve the conflict)

查找分支合并情况:git log --graph --pretty=oneline --abbrev-commit

删除分支:git branch -d ‘分支名‘

 

合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。

如果要强制禁用Fast forward模式(--no-ff 为禁用Fast forward模式),Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息

合并并commit: git merge --no-ff -m "备注信息" "要合并分支对象"  //适用于主分支无修改 无冲突 纯属合并添加内容 一步到位api 

 

 


 

 

 

工程中的分支管理

  技术分享图片

master新建一条 dev分支 成员们都在dev的基础上另起分支 修改后再与dev分支进行合并 一般都无需理会master分支 只有出版本时才需要将dev并入到master分支

 

以上是关于Git分支的创建以及分支冲突解决的主要内容,如果未能解决你的问题,请参考以下文章

[git] github 推送以及冲突的解决

Git 多人协作以及 版本冲突问题解决

Git 多人协作以及 版本冲突问题解决

GitGit 分支管理 ( 解决分支合并冲突 | 本地处理文件冲突 )

GitGit 分支管理 ( 解决分支合并冲突 | 本地处理文件冲突 )

git入门:创建合并分支 解决冲突 分支管理策略