红矿公司;Git集成

红矿公司;Git集成,git,redmine,Git,Redmine,我正在考虑从svn和Trac迁移到git和Redmine。我只是想知道每个人的经历是什么。git与Redmine的集成程度如何 我已经下定决心要从svn改为git——我们的分布式工作,需要频繁地进行分支和合并,这将使git的使用变得更加容易。但我们可能需要为此将事情分成多个项目。从我所读到的内容来看,git和多个项目与Trac的集成不是很顺利。除此之外,在我对git的调查中,Redmine也引起了我的注意,其中一些特性看起来非常有用 然而,我还没有找到像我所希望的那样多的git和Redmine用

我正在考虑从svn和Trac迁移到git和Redmine。我只是想知道每个人的经历是什么。git与Redmine的集成程度如何

我已经下定决心要从svn改为git——我们的分布式工作,需要频繁地进行分支和合并,这将使git的使用变得更加容易。但我们可能需要为此将事情分成多个项目。从我所读到的内容来看,git和多个项目与Trac的集成不是很顺利。除此之外,在我对git的调查中,Redmine也引起了我的注意,其中一些特性看起来非常有用


然而,我还没有找到像我所希望的那样多的git和Redmine用户体验(可能是因为我缺乏搜索技能…),所以我想听听你的意见和例子。

我去年构建了一个使用git和Redmine的系统。您可以直接将git与Redmine集成,没有问题,但我强烈建议您看看Gitorious以及控制存储库并跟踪其事件的工具。它还可用于控制对存储库等的访问

集成Gitorious和Redmine非常简单。我写了一个脚本来清除那些不可靠的路径。当您使用Gitorious时,它们保存在散列文件系统中,因此将这些存储库链接到Redmine会有点复杂。我的脚本以更可读的格式链接到这些存储库,因此将它们链接到Redmine非常简单,并且在创建项目时只需要一次。你可以找到脚本

基本上,您不需要太担心集成,因为Redmine支持git开箱即用。当然,您需要在您的“生产”存储库所在的服务器上运行git服务(您链接到Redmine、进行自动测试等的存储库),但这也可以通过Gitorious解决

实际上我写了关于这个问题的学士论文。它已经有点过时了,因为Gitorious和Redmine都开发了很多,但是如果你想阅读的话,我可以提供给你。论文解释了需要做什么(一些问题已经通过这两个工具解决了)它还包括一个持续集成环境,当用户将更改推送到存储库时,该环境会自动构建包,并将其放入reprepro存储库,测试人员等可以通过web浏览器轻松下载这些包

Redmine去年出现了一些问题,特别是缺少子项目有点恼人,但在0.9版本中已经得到了纠正。此外,插件在投入生产使用之前应该进行充分的测试,有些插件不能很好地混合,有些根本不能工作(可能是Redmine版本与插件版本的冲突)。不过,总而言之,Redmine工作得很好,应该可以很容易地扩展到您的需要。对Gitorious的支持非常好,对Redmine的支持更零星(该死的法语?),但这两个工具都有足够大的用户基础,应该是安全的赌注


Git是一个非常好的版本控制工具,特别是对于敏捷团队。这需要一些学习,你应该为你的开发人员编写一个如何使用它的指南,让他们最大限度地利用它,但是一旦你学会了,它就会非常有成效。我们写了自己的,只是说明了正常的工作过程。应该解释分支、合并等,例如,使用个人存储库的主分支不是一个好主意。始终创建一个分支并在那里工作。当您从其他存储库中提取对主分支的更改时,以这种方式处理合并会更容易,而且您不会意外地推送您无意中推送的内容。

这是一个很好的匹配,因为这两个平台都很灵活

集成设置
  • 使用gitolite或gerrit在另一个地方设置官方git存储库(master),以便于管理,因为redmine不为git提供这些功能
  • 运行简单的cron作业将主git repo同步到redmine git repo作为只读模式
两者的集成使用
  • 通过git commit自动查看与问题的关系
  • 使用git提交自动控制问题
请看一下我的博客和

不管怎样,我对整合很满意

对多git存储库的有限支持 我注意到的一点是,它不能支持多git存储库,请参阅功能


另外,当您第一次设置git存储库时,它无法更改,请注意这一点。

您好,我不久前为此编写了一个指南。该指南安装了一个干净的git和一个干净的redmine。不需要其他额外的软件。它甚至允许您通过http git处理redmine中的帐户

你可以在这里找到它:


因为我不久前写了这本指南,版本可能不匹配,但它应该仍然适用于当前版本。

我在搜索如何将Redmine与Gitorious正确集成时偶然发现了这条线索。既然我们成功地做到了这一点,而且现在已经有了一些长期(或中期)的经验,我想我应该分享一下

我们采取了与cronjobs不同的方法,因为它对我们来说太死板了。 在我们的博客文章中,我们还参考了Redmine和Gitorious安装部分的其他教程:

我们现在使用这个系统大约有5个月了,并且非常满意。唯一的“问题”是,每次在Redmine中创建新项目时,都必须运行一些terminal命令,以便将项目连接到存储库。由于我们不是集体创建项目,因此这正是我们的正确方法


我希望这有帮助

不知道如何将redmine帐户与Gitorious链接,但也有可能
'working on ref #1234' => 'working on ref #1234:Eliminate dangling pointers'
$ git push
...
remote: [post-receive] Parsing 1 commits for branch 'develop'
remote: [post-receive] Setting issue #1608 status to 'totest'
...