1.如何用project管理issue?
用project看板管理issue


有五种类型:None、Basic kanban、Automated kanban、Automated kanban with reviews、Bug triage

首先选用Bug triage



利用看板就会很直观,很便捷,Issues也支持,有序的帮我们管理任务
2.项目内部怎么实施codereview?
保证集成分支的代码质量有所保障,我们需要对集成分支进行有效的设置



和之前步骤类似,选好分支,Create new pull request


可以设置一下Reviewers

这个时候这个账号会收到消息



发起者会收到一份邮件

通过pull request 发起codereview申请,可以指定具体的Reviewers人员,即使帮我们Review代码,如果ok,就会及时合入进去了,整个的交互,一般都是以邮件形式来告知,进行交流
3.团队协作时如何做多分支的集成?
主线是master,基于master有两个分支Beijing、Shanghai



和上面步骤一样,


选择第一个Create a merge commit


紫色说明提交成功了

这是Beijing的分支和master进行合并了

然后是Shanghai分支

分支冲突,需要我们人工进行解决冲突,点击Resolve conflicts解决


根据自己的需求进行修改





此时pull request 还没有结束


中间步骤和之前一样,然后看结果,集成完毕

然后我们进行回退,master回退到原来地方,以及Shanghai分支回退到s地方,看看其他的方式会出现怎么样的集成结果
这个命令是为了方便我们想要看到的结果,一般不能使用

此时状态已经恢复

以Beijing分支先合,选择Squash and merge

中间步骤相同,直接看结果,这是Beijing分支合并过的结果

以Shanghai分支进行合并

这里报错,有冲突,不过不用担心,你可以继续创建

会弹出这个冲突,让我们自己进行解决


编辑完成之后,我们选择Mark as resolved

为了解决冲突,生成了这个commit




完成了,然后我们再次进行刷新这个图,看结果

然后我们再次进行回退,master回退到原来地方,以及Shanghai分支回退到s地方,看看其他的方式会出现怎么样的集成结果


这次选用Rebase and merge,Beijing分支合并

中间步骤相同,直接看结果

Shanghai分支合并


发现有冲突,自己进行解决




看结果,Shanghai合并到master是没有办法,我们需要找其他办法

把Shanghai这个分支回退到之前的状态


以master为基准,将Shanghai这个分支做变基行为


这个文件有冲突,那我们可以进行处理

处理完毕


还会报冲突,由于我们是变基,所以继续处理这个冲突



它会要求我们每一次都要做这个冲突的处理,这个是比较繁琐的,按照提示一步一步进行解决就可以了
1.vi readme 进入解决冲突
2.git add .
3.git rebase --continue


四次处理完成后,Shanghai分支做的变更都已经合入进来了

到这里之后就不再提示有问题了

这个是Shanghai分支做好的变基行为,我们进行push


现在需要将Shanghai分支合入到主分支上

点击Rebase and merge 就会很顺利了

处理完毕之后,看结果


为什么这里会有两个头像?有作者又有提交者

上面我们处理整个过程比较繁琐,有没有更好的方法呢,有的,参考官网介绍Git - Rerere
首先,Shanghai分支要回退到s位置,master分支也要回退


设置配置项
$ git config --global rerere.enabled true

把冲突解决掉



temp只是临时的,是不需要的,所以我们需要回到上一步


它会知道自己该怎么处理这个冲突




以前总是在反复解决冲突,现在就有了改观,一次记录在案,就不用再反复处理了
这个就是对rerere的了解
4.怎样保证集成的质量?
如何保证持续集成中的集成分支的质量?



根据自己的需要制定自己的规则



在我们项目内部合





即使有不合格项,作为最高管理员,还是可以进行合并行为的

如果在设置里选上这个选项

合并这个地方的按钮就会置灰了,即使是最高管理员,也没有办法强制处理不合格的合并,也需要严格遵守规则

为了保证集成质量,可以增加Codecov、Travis CI服务,在Marketplace中查找

Travis CI做检查和做部署的



定制这样一份计划,就可以让服务和仓库的访问建立起来

5.怎样把产品包发布到GitHub上?
等到我们的集成分支满足一定要求之后,自动集成之后,创建出来的产品包就需要把它以二进制压缩包的形式发布到GitHub上面,以便把这个包拉到测试环境去使用
release是GitHub现成提供的


设置api_key







根据需求选择


需要我们存起来,因为下次就看不见了






提交完毕后

release里面的内容

将.travis.yml中的war包部署到release中
6.怎么给项目增加详细的指导文档?
让别人写的好的Wiki放在自己的项目当中

首先,我们可以先找到一个写的较好的进行拷贝




这个是自己的wiki地址



先pull下来,再push上去

解决合并冲突

解决完成,再次push

完成,刷新页面即可
