我正在考虑从svn和Trac转到git和Redmine。我只是想知道每个人的经验是什么。 git与Redmine集成得如何?
我决定将svn更改为git-我们的分布式工作,并且需要频繁地分支和合并,这将使git的工作变得更加轻松。但是为此,我们可能需要将事情分成多个项目。根据我一直在阅读的内容,git和多个项目与Trac集成得不太顺利。除此之外,在我对git的调查中,Redmine也引起了我的注意,并且某些功能看起来非常有用。
但是,我没有找到想要的git和Redmine用户体验(可能由于我缺乏搜索技能...),所以我想听听您的意见和示例。
最佳答案
我去年建立了一个使用Gitorious和Redmine的系统。您可以直接将git与Redmine集成在一起,没有问题,但是我强烈建议您对Gitorious以及用于控制存储库并跟踪其事件的工具进行一下了解。它还可以用于控制对存储库等的访问。
整合Gitorious和Redmine非常简单。我写了一个脚本,阐明了Gitorious路径。它们在使用Gitorious时保存在散列的文件系统中,因此将这些存储库链接到Redmine将会有些复杂。我的脚本以更易读的格式链接到那些存储库,因此将它们链接到Redmine确实很简单,并且在创建项目时仅需要一次。您可以找到脚本here。
基本上,您不需要担心集成问题,因为Redmine支持开箱即用的git。当然,您需要在“生产”存储库所在的服务器上运行git服务(您链接到Redmine的服务器,进行自动化测试等),但是Gitorious也可以解决此问题。
我实际上写了关于这个问题的学士论文。由于Gitorious和Redmine都已经发展了很多,所以它已经有些过时了,但是如果您想阅读的话,我可以提供它。论文解释了需要做什么(这两个工具已经解决了一些问题),还包括一个持续集成环境,当用户将更改推送到存储库并将其放入reprepro存储库中时,测试人员可以自动构建软件包。等可以轻松地使用网络浏览器下载它们。
Redmine去年遇到了一些问题,特别是缺少子项目的问题有点烦人,但在0.9版本中已得到纠正。另外,在投入生产使用之前,应该对插件进行良好的测试,有些插件不能很好地混合在一起,而有些插件根本无法工作(可能是Redmine版本与插件版本的冲突)。总而言之,Redmine运作良好,应该可以轻松扩展以满足您的需求。对Gitorious的支持非常出色,对Redmine来说则比较零星(该死的法语?),但是这两个工具都有足够大的用户基础,因此应该放心使用。
Git是非常好的版本控制工具,特别是对于敏捷团队而言。它需要一些学习,并且您应该编写一个指南,指导开发人员如何使用它,以充分利用它,但是一旦学习,它就会非常有生产力。我们写了自己的书,只说明了正常的工作过程。应该说明分支,合并等,例如,在您的个人存储库的主分支上工作不是一个好主意。始终创建一个分支并在那里工作。当您从其他存储库中将更改拉到您的master分支时,以这种方式进行合并会更容易-并且您不会意外地将原本非故意的内容推送给您。
关于git - Redmine和Git集成,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2797774/