2012-03-11 72 views
2

我在大学,我的小组一起开始一个编程项目。在保持git的同时教git'像svn一样简单'

在之前的课程中,我们学习了svn的基础知识以及如何提交以及如何使用Toitosesvn。我们被告知不要担心分支(因此没有被教导),因为它是一个相当小的程序。在这个项目中,svn服务器出现故障,导致每个人都无法工作,但是人们并没有多想。

对于这个项目,我推动有一个DVCS。在解释了git与svn的不同之处之后,他们表示它可以,但是希望它像使用svn一样简单。由于我们将使用Eclipse ^,他们只是想要说明如何在Eclipse中使用git。 (我计划使用EGit

由于我们没有被教导过,分支对于其他成员来说是一个外国概念。但是,由于git中的新概念(例如分支),如何使用GUI并不是唯一需要教授的东西。

如何以一种容易让svn开发者使用gui的方式介绍git的概念?

注:正在使用Git的,因为我推,我知道它(不知道水银或集市)

^:我们将建立一个机器人程序。

+0

这绝对不会是你想要听到的,但是:1)忘记你学习SVN的任何知识,术语与git相似,但有着不同的意思,让人感到困惑。 2)EGit真的很糟糕。至少,去年是这样。我怀疑它变得好多了。它以奇怪和随机的方式打破,它不支持子模块等。你会更好地使用命令行中的git。 – 2012-03-11 03:50:06

+1

不同的问题。你如何以这样的方式教Git,任何人都会认为它比svn更困难? – 2012-03-11 03:51:49

+0

“Git - SVN崩溃课程”http://git.or.cz/course/svn.html?基于你的svn知识的git。 – 2012-03-11 03:52:28

回答

3

的几个注意事项:

  • Git Ready是一个善良,温柔的介绍Git的。

  • 我也喜欢Git for Computer Scientists的视觉性质。

  • Git与Subversion不太相似。试图在他们两人之间绘制类比可能只是会混淆你的队友需要在git中工作的心智模式。

另一方面,我不会让你的队友太难使用他们不熟悉的技术。现在有适当的时间和错误的时间来介绍技术,并且在编程项目的有限范围内,学习如何使用DVCS可能不是一种方法。作为一名优秀开发人员的部分是知道当不是打一些战斗。

最终,git对生产力有很大的提升,但如果它是以降低你的团队的其他成本为代价的话,那么它就不是。

+0

我也很喜欢“计算机科学家的git”。虽然这很简单,但对于告诉你关于命令集的信息并没有多大意义。 – torek 2012-03-11 03:55:52

2

Mercurial实际上可能更容易,因为它更自动。你可以把Hg看作“没有索引的git”,这一切意味着这一点。 :-)汞也禁止历史重写,这有其优点和缺点;特别是,它意味着您需要像队列那样的附加组件,以便在开发过程中为其他人提供补丁。

所有这一切不谈,其实我对混帐瘦自己,部分原因是它“作品的权利”,即使用户界面是极其复杂的。如果你让人们开始使用git 1.7.x,他们通常只会记得“git commit -a”。

+1

如果它“工作正常”,我们还没有像git-troubleshooting这样的巨大问题 - 就像我们现在 - 现在在这里! – 2012-03-11 12:08:09

+0

heh。这是因为用户界面和术语...“不是最好的”,我们应该说吗? :-) – torek 2012-03-11 20:03:24

+0

我们在这里看到比术语和GUI更深的麻烦。我认为它们是建筑的缺点* – 2012-03-11 21:06:25

1

简短的回答:Nohow


为了避免所有的尖角你要忘了

  • 分行
  • 走在历史
  • 许多遥控器(因此 - d -VCS性质)

这种情况下,你几乎没有从VCS本身

BTW,颠覆背景的Git,新人更负,比加

“的Git,SVN速成班”,帮助一些方法,但不能完全解决所有的烦恼

PS:也许跨平台SmartGit可以让Git的生活更容易

0

您可以安装SubGit(subgit.com)SVN服务器上。之后,服务器将获得2个接口:SVN和Git。我的意思是,如果您推送到Git存储库,这些更改将自动转换为SVN存储库;反之亦然。

它保留了Subversion的主要概念,比如ignore,EOLs-management,tags,merges等等(比git-svn好得多)。