在Git中分支的概念是极其重要的,对于团队的开发合作有很大的方便之处。
下面来正式来介绍一下Git的分支的一些概念
git分支作用
举个例子吧。比如说你要在一个app代码上开发一个新功能,在一周之后你写了一部分,但还没都写完,你现在要是提交到仓库中,会导致别人又没法写代码,如果代码全写完在交的话,又有很大的风险。所以在这种情况下,分支就起作用了。你可以创建一个属于自己的分支,你可以提交到自己的分支上,每个分支都是一个独立的,彼此互不影响。这样你就可以在自己的分支上提交代码,还不影响别人的正常工作。
git分支的原理
首先我们要理解git储存数据的原理
每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。
Head指向当前分支,master指向提交
开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点
每次提交,master分支都会向前移动一步,这样,随着你不断提交,master分支的线也越来越长
分支的创建
1.创建了demo分支,并且切换到demo分支,那么head就指向demo,每次提交也会提交到demo,master指向不会变
2.分支的合并
3.git的冲突产生原因
如果我切换到分支dl ,修改了master 原本哪行的代码,提交.然后再切换到master.我不知道demo修改了这个文件.我也修改这一行的代码,并提交.好了,"两个分支相同文件相同位置的的不同操作" 我这个时候就在master merge dl 或在 dl上merge master. 冲突!!! 不解决冲突是没法提交和切换到别的分支的. 反正这个冲突后的文件必须被改动一下.
4.解决冲突
可以通过git status 查看冲突代码,手动更改
手动更改保留你所需要的部分
同时记住,解决了之后,要add 和 commit 最后push.