我在大学,我的小组正在一起开始一个编程项目。
在之前的主题中,我们学习了svn的基础知识和如何提交,以及如何使用Toitosesvn。我们被告知不要担心分支(因此没有教过它)因为它是一个相当小的程序。在项目期间,svn服务器出现故障,让每个人都无法工作,但是人们并没有多想它。
对于这个项目,我正在推动DVCS。在解释了git与svn的不同之后,他们说它会没问题,但希望它像使用svn一样简单。由于我们将使用Eclipse ^他们只需要有关如何在Eclipse中使用git的说明。 (我打算使用EGit)
由于我们没有接受过关于它的教导,因此分支对其他小组成员来说是一个外国概念。但是,由于git中的新概念(例如,分支),如何使用GUI并不是唯一需要教授的东西。
如何以一种容易让svn开发人员习惯使用gui的方式介绍git的概念?
注意:正在使用Git,因为我正在推动它并且我知道它(并且不知道mercurial或bazaar)
^:我们将构建一个Android程序。
答案 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)
简短的回答:无论如何
<小时/> 为了避免所有尖角你必须忘记
在这种情况下,你几乎没有VCS本身的任何内容
BTW,Git-newcomers的Subversion背景更多是负,而不是答案 3 :(得分:0)
您可以在SVN服务器上安装SubGit(subgit.com)。之后,服务器将获得2个接口:SVN和Git。我的意思是,如果您推送到Git存储库,更改将自动转换为SVN存储库;反之亦然。
它保留了Subversion的主要概念,如忽略,EOL管理,标签,合并等等(比git-svn好得多)。