版本控制的使用,要從娃娃抓起

2014-05-29 20:42:59 +08:00
 yukirock
大作业的 group work 是拿 Java 写一个迷宫游戏。迷宫生成算法其实不复杂,GUI 虽然很恶心但也能忍,但 git 的使用与队友的表现才令人头大。

考虑到作业代码不宜公开,所以采用了 Bitbucket 的私有源,然后把最早完成的迷宫部分的代码交了上去。上课时一直使用 Eclipse 写 Java,但 Eclipse 与 git 怎样结合大家似乎都没有研究过。我最早尝试时,如果在 Eclipse 中直接使用 git 的话,所有的代码会归入一个 src 目录。但当时我以为这不对,应该是所有的代码都在根目录下,所以就放弃了通过 Eclipse,一直用另一个目录作为 local git repo,然后与 Eclipse 目录之间手动同步。

这样虽然蹩脚但还能用,但另一个队友比我还不擅长 git。那边的做法是,Eclipse 里写的代码,直接打开 Bitbucket 的网页编辑器贴进去。版本完全乱套。我后来提交的修改,那边每一次提交都会不留声息地抹掉。

与此同时分工也没有仔细划分。一开始分工倒还简单,例如谁做后台算法,谁做 GUI,但一来队友对 git 不熟悉,二来有幽灵队友这两天才露面不知道要分什么活好,现在完全出于混乱的境界。完全不知道代码进度,而且也有人在同时做一个东西然后窝工。代码管理也是通过打包然后发邮件或者传到 fb 讨论组这种石器时代的方式共享,好端端的 git 都被我们吃了。

总结拔高主题,本科生不是病,犯起来要人命。与被队友坑过的各位共勉,也祝各位不被队友坑、不会坑到队友。与此同时也无力地呼吁各位重视版本控制等软件工程工具的重要性,至少对不懂事的本科生来说这个实在是太容易被忽略了。
5851 次点击
所在节点    程序员
35 条回复
nooper
2014-05-30 07:47:12 +08:00
pull request
CoX
2014-05-30 08:05:31 +08:00
LZ团队应该抽出一天时间来学习一下git,其他啥都不干
磨刀不误砍柴工啊
TK
2014-05-30 08:20:15 +08:00
怎么都因为私有repo放弃github……教育账号申请一个就有5个free private repo啊……
clino
2014-05-30 09:05:25 +08:00
自己用gerrit搭一个git服务,然后强制每人的提交都要别人review过再合并
anheiyouxia
2014-05-30 09:21:24 +08:00
没用过git,但是我觉得svn是非常简单的工具,如果觉得搭建麻烦或者不会搭建,那直接在Googlecode创建一个项目,名字就用乱一点的名字,基本不用担心泄露的问题。
然后既然是用eclipse,装上插件后,每次写之前update一下,写完代码一commit就是了,有冲突,手动解决一下。
Mutoo
2014-05-30 09:39:41 +08:00
最好的 java ide,自带超好用 git/svn 集成,小白值得拥有。
http://www.jetbrains.com/idea/

社区版免费。
leopanhf
2014-05-30 09:42:13 +08:00
很显然你们完全都没有沟通啊。跟工具没关系吧。
FatGhosta
2014-05-30 09:50:17 +08:00
eclipse上有egit,但是如果对git操作不熟悉,用egit也是坑。
@fireking
wizardoz
2014-05-30 10:02:16 +08:00
同意一楼说法,你的队友不仅是不熟悉工具。而是完全不理解版本控制为何物。有必要先开个会沟通一下,大家分享一下对版本控制的看法以及使用技巧。工欲善其事,必先利其器。
hualuogeng
2014-05-30 10:43:21 +08:00
楼主缺的是一本适合GIT入门的书
kooyou
2014-05-30 10:51:02 +08:00
楼主不是本科生?主要还是没沟通吧。。。
wudoo59
2014-05-30 10:58:16 +08:00
我想问大家git都是到哪里学的,还是直接官方网站看帮组内容啊。
Panic
2014-05-30 11:00:25 +08:00
一上来就多人协作使用git何必呢, 我现在也只在自己个人项目里试试git,公司多人还是使用svn, 你不搞多分支的话肯定够了。 使用git只能看起来高大上了
lincanbin
2014-05-30 12:02:49 +08:00
@yukirock GUI比Shell好很多,你如果要教他们的话,两三分钟教会Sync、Commit、Push这几个基本操作,问题不大。
kaneg
2014-06-02 20:39:18 +08:00
Git就不是给菜鸟用的。几个人的小团队用SVN是在合适不过的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/114931

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX