1 Branch概念
假设你有一个新的idea,想做尝试,但是又不想把原来的代码给糟蹋了,因此就可以开辟一个新的分支,即branch,进而在无破坏原代码风险的情况下开发新的功能。
2 Branch的一些操作
- 创建分支
- 切换分支
- 上传分支
Publish按钮即可将新的branch代码上传到github。 - 删除分支
- 存在两种删除方式:delete会同时删除本地与远端的代码,而unpublish则只会在远端删除代码
- default branch无法被删除(在Setting中可以设置,默认为master)
3 合并分支
现在假设有一条版本链(C1→C2→C3)其中master指向C2,而分支idea指向C3。
3.1 现实
我们做好了C3的工作,则要将其与主线合并,才是真正实现了分支idea的功能,因此为了让branch最终实现价值,我们不得不做merge。
Merge之后,则会形成C4,同时指向C2与C3(自行脑补...),也即是说,它会有两个Parent。
3.2 并行开发
Git的一个核心工作在于,它支持多人同时并行开发。
本地的matser与远端的master,也可以是两个独立的版本,可以独立开发!
3.2.1 如何解决代码冲突
场景:Peter做了一版,写了邮箱peter@qq.com,传到了Github上。与此同时,Jame做了一版,填了jame@qq.com,企图从本地上传到远端。
这样一来,本次会提示,要先解决冲突。
冲突的本质是多人协作上意见的不统一。
我们只需要再冲突代码处进行讨论,删除去除部分及冲突符号,然后commit,然后再同步到远端,即可实现冲突代码的处理。