项目名:取件帮
组名:可以低头,但没必要
组长:付佳
组员:张俊余 李文涛 孙赛佳 田良 于洋 段晓睿 杨金铭
问题
0. 在吹牛之前,先回答这个问题: 如果你的团队来了一个新队员,有一台全新的机器, 你们是否有一个文档,只要设置了相应的权限,她就可以根据文档,从头开始搭建环境,并成功地把最新、最稳定版本的软件编译出来,并运行必要的单元测试? (在这过程中,不需要和老队员做任何交流)
答:可以。我们建立了一个文档,将平台、代码地址都写上去了,新来的队员只要按照文档内容逐步操作,先下载git和微信开发者工具、再用git将远程仓库里的的代码clone到本地,通过微信开发者工具就可以查看代码,了解代码结构,熟悉代码之后也可以通过微信开发者工具进行编译测试运行。
1. 你的团队的源代码控制在哪里?用的是什么系统?如何处理文件的锁定问题?
答:我们组使用的是coding.net进行项目托管,使用GitBash进行版本控制,大家使用的是win8和win10系统,文件锁定的话我们是通过管理员权限进行控制的,只有小组里的人才有管理员权限,能够提交代码。控制流程是这样的:先checkin(git add/commit),再更新线上代码到本地仓库(git pull),若存在冲突则解决冲突,最后上传代码(git push)
2. 如何看到这个文件和之前版本的差异? 如何看到代码修改和工作项 (work item),缺陷修复 (bug fix) 的关系。
答:每次push时在commit中的message部分注明修改内容,这样本次checkin做了什么改动一目了然;也可以在coding.net代码详情中查看具体做了哪些修改。另外我们小组的开发工具也支持版本控制,可查看具体的修改。
3. 如果某个文件在你签出之后已经被别人修改,并且签入了,那么你在签入你的修改的时候, 如何合并不同的修改(merge)? 你用了什么工具来帮助你?
答:使用GitBash工具更新本地仓库,有冲突时对比解决冲突,然后签入代码。
4. 你有20个文件都是关于同一个功能的修改,你要如何保证这些文件都同时签入成功(修改的原子性),或者同时签入不成功?
答:进行上述签入时,先和所有组员进行沟通,确保自己签入时没有其他人进行签入操作,签入完成后在通知所有组员他们可以签出再进行签入了。同时签入不成功的话可以一个一个签入试试,目前为止我们没有遇到过不成功的情况。
5. 你的PC 上有关于三个功能的修改, 但是都没有完成,有很多文件处于半完工的状态,这时你要紧急修改一个新的 bug,如何把本地修改放一边,保证在干净的环境中修改这个 bug, 并成功地签入你的修改 --- changelist management。
答:保存半完工的修改文件,然后建立一个新的分支,在新的分支上进行修改bug的工作,两个分支不会干扰。
答:没有。
答:场景一:给每一个演示版本建立一个分支,在不同分支上进行修改。对于需要合并的分支修改就逐一签入主分支。
场景二:根据客户版本号,在版本控制中找到相应版本,克隆到本地进行问题重现。
- github
- https://gitee.com/education
- coding.net
- code.csdn.net
- gitcafe.com
- www.visualstudio.com
- code.taobao.org
- Visual Studio Team Foundation Server
- gitblit, 在Windows系统下构建 git 服务,带网页端管理…
- Visual Source Safe (VSS)
- 自己搭建系统