共计 953 个字符,预计需要花费 3 分钟才能阅读完成。
咱们书接上文 ↓↓↓
六:创立与合并分支。
在版本回退里,你曾经晓得,每次提交,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
- 查看历史记录
截图如下: