1.概念
在项目开发的过程中使用GIt的方式。
2.分类
2.1.集中式工作流
像SVN一样,集中式工作流以中央仓库作为所有修改的点单实体。所有修改都提交到master这个分支上,这种方式与svn发主要区别就是开发人员有本地库,Git的很多特性并没有用到。
2.2.GitFlow工作流(用的最多)
GItFlow工作流通过为功能开发,发布准备和维护设立了独立的分支,让发布,迭代过程更流畅严格的分支模型也为大型项目提供了一些非常有必要的结构。
2.3.Forking工作流
ForKing工作流是在GitFlow基础上,充分利用了Git的Fork和pull request 的功能已达到代码审核的目的。更适合安全可靠地管理大团队的开发者,而且能接受不信任贡献者的提交,其实就是和开发团队以外的开发者协作。
3.实战
3.1图解
当然实际开发过程中可能没有这么多的分支,根据实际情况确定。
3.2操作(两位开发人员,开发者1创建分支并推送到远程库,开发者2pull下来,审查代码并合并)
3.2.1.开发者1(Test1): 创建分支,项目名右键—>team—>Switch To—>New Branch。在Branch Name输入框中填写分支名称。
此时可以看到Eclipse中项目名上分支已经切换到新建的分支上了。
我们在此基础上修改内容提交到本地库中,在推送到远程库,我们也可以在文件名上右键—>team—>Repository—>Push Branch 'hot_fix',填写远程库信息—>我们可以看到此时的分支就是新建的分支—>next即可。
推送成功!
远程库中就可以看到,Branch下拉框中就有两个分支。
3.2.2.开发者2:切换分支审查代码,项目名右键—>team—>Switch To—>Other,若在Remote Tracking中没有找到开发者1推送到github的分支,则可以项目名右键—>team—>Pull(注意是不带问好图标的那个),此时就在执行上面操作就可以看到远程库的所有分支。
选择分支之后点击Check Out
此时可以在Eclipse中项目名看到,开发者2此时所在的分支就是刚刚从远程库检出的新分支。其内容也是刚刚开发者1推送的内容。
3.2.3.开发者2审查代码
开发者2审查检出的代码,若有问题,让开发者1继续修改,开发者2继续检出,知道没有问题,若没有问题,则开发者2执行合并代码。首先开发者2切换分支到master,其次选择要合并的分支
项目名右键team—>Switch To —>master,项目名右键team—>Merge—>选择分支—>merge,选择分支的时候选择远程库和本地库都可以,本地库的分支原本就是从远程库上检出的。这里选择本地库
合并完成
若出现冲突,解决冲突即可。若无冲突,把master推送到远程库。
右键team—>Push Branch master
推送完成!