咱们书接上文 ↓↓↓
六:创立与合并分支。
在版本回退里,你曾经晓得,每次提交,Git都把它们串成一条工夫线,这条工夫线就是一个分支。截止到目前,只有一条工夫线,在Git里,这个分支叫主分支,即main分支。HEAD严格来说不是指向提交,而是指向main,mian才是指向提交的,所以,HEAD指向的就是以后分支。
首先,咱们来创立dev分支,而后切换到dev分支上。如下操作:
咱们当初在readme.txt再减少一行 7777777777777
当初dev分支工作已实现,当初咱们切换到主分支main上,持续查看readme.txt内容如下:
当初咱们能够把dev分支上的内容合并到分支main上了,能够在mian分支上,应用如下命令 git merge dev, 是指将dev合并到以后分支中 如下所示:
留神到下面的_Fast-forward_信息,Git通知咱们,这次合并是“快进模式”,也就是间接把main指向dev的以后提交,所以合并速度十分快。
合并实现后,咱们能够接着删除dev分支了,操作如下:
1. 如何解决抵触?
上面咱们还是一步一步来,先新建一个新分支,比方名字叫zhangsan,在readme.txt增加一行内容8888888,而后提交,如下所示:
同样,咱们当初切换到main分支上来,也在最初一行增加内容,内容为99999999,如下所示:
当初就会呈现一个问题,main和zhangsan分支都批改了同一部份得内容,在合并时就会呈现抵触。
Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,其中<<<HEAD是指主分支批改的内容,>>>>>zhangsan 是指被合并分支上批改的内容,咱们能够批改下如下后保留
如果我想查看分支合并的状况的话,须要应用命令 git log.命令行演示如下:
2.分支管理策略。
通常合并分支时,git个别应用”Fast forward”模式,在这种模式下,删除分支后,会丢掉分支信息,当初咱们来应用带参数 –no-ff来禁用”Fast forward”模式。首先咱们来做demo演示下:
- 创立一个dev分支。
- 批改readme.txt内容。
- 增加到暂存区。
- 切换回主分支(main)。
- 合并dev分支,应用命令 git merge –no-ff -m “正文” dev
- 查看历史记录
截图如下: