教git,同时保持'像svn一样简单'

时间:2012-03-11 03:46:38

标签: git svn

我在大学,我的小组正在一起开始一个编程项目。

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

对于这个项目,我正在推动DVCS。在解释了git与svn的不同之后,他们说它会没问题,但希望它像使用svn一样简单。由于我们将使用Eclipse ^他们只需要有关如何在Eclipse中使用git的说明。 (我打算使用EGit

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

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

注意:正在使用Git,因为我正在推动它并且我知道它(并且不知道mercurial或bazaar)

^:我们将构建一个Android程序。

4 个答案:

答案 0 :(得分:3)

一些注意事项:

  • Git Ready 是对Git的一个好的,温和的介绍。

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

  • Git与Subversion并不是很相似。试图在他们两个之间进行类比可能只会混淆你的队友需要用git工作的心理模型。

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

最终,git对提高工作效率有很大的提升,但如果以降低团队其他所有成本为代价,那就不是了。

答案 1 :(得分:2)

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

除此之外,我实际上自己倾向于git,部分原因是它“正常工作”,即使用户界面非常复杂。如果你让人们开始使用git 1.7.x,他们通常只记得“git commit -a”。

答案 2 :(得分:1)

简短的回答:无论如何

<小时/> 为了避免所有尖角你必须忘记

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

在这种情况下,你几乎没有VCS本身的任何内容

BTW,Git-newcomers的Subversion背景更多是负,而不是

“Git-SVN速成课程”有所帮助,但并不能完全解决所有问题

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

答案 3 :(得分:0)

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

它保留了Subversion的主要概念,如忽略,EOL管理,标签,合并等等(比git-svn好得多)。