使用GitHub进行项目管理

96

(编辑:对于我的特定问题,此问题现在已过时,因为Google Code现在支持git,并且我已经将Protocol Buffers转换为Mercurial。但是,我认为这仍然是一般感兴趣的话题。)

我的C# Protocol Buffers Port使用github作为其源代码控制工具,我开始真正喜欢使用git。但是,据我所知,github没有提供任何项目管理工具:缺陷和功能跟踪,讨论,功能请求,文档等等。鉴于我的关联,Google Code可能是一个自然选择,但是在那里创建项目但是在github上托管源代码似乎有些奇怪。

这个关于Fogbugz/Assembla的问题似乎主要集中在缺陷跟踪方面。我想知道其他人在更完整的项目管理解决方案方面有哪些经验?Fogbugz是否可以实现我需要的所有功能?(使用维基文档具有其优点,尽管我还想能够随代码分发文档。)除了第一段中提到的显式功能之外,还有其他项目方面我应该考虑的吗?

这肯定会是一个开源项目,尽管我不想付费,但如果需要缴纳少量费用,我也不介意。目前我是唯一的开发人员,但情况可能会改变,可能会有很多人提交错误和功能请求。(换句话说,我希望并期望它受欢迎,但我将大部分工作交给我自己。)

以前,我对各种开源项目进行了贡献,但在管理一个非常可见和活跃的项目方面做得不多。(MiscUtil目前仍然“托管”在我的网站上,偶尔发布 - 实际的源代码控制在我的本地NAS上。)

有人愿意分享他们的经验吗?

编辑:我现在考虑的另一个选项是创建一个Google Code项目(我真的很想忠于我的雇主),并定期将git合并到svn中(至少每次发布时都这样做)。这将使非Git用户也能轻松获得源代码。


你们是否即将发布C#版本的Protocol Buffers?我一直很想尝试它。 - David Robbins
1
@David:它已经处于可用状态,尽管有些“手动”。请参阅http://code.google.com/p/protobuf-csharp-port/获取一些初步说明。 - Jon Skeet
我不确定你上次编辑这个问题时是否是这种情况,但GitHub会自动创建可下载的代码存档文件。你也可以下载任何提交时的代码状态。 - Xiong Chiamiov
11
你也可以在 Google Code 上使用 Mercurial,Mercurial 相当简单,几乎具有与 Git 相同的功能。 - dzen
@gavenkoa:是的 - 幸运的是,我现在已经转移到Mercurial了,并关闭了GitHub项目 :) 将编辑此问题。 - Jon Skeet
显示剩余3条评论
14个回答

45
如果你认为自己将会是唯一的开发者,那么Fogbugz将帮助你保持理智。Fogbugz是一个很棒的产品,它建立了专注的通信,并可以将任何事物转化为案例(问题)。它做得和我见过的任何系统一样好。
但它的方向是商业的——用户和技术支持之间的高效沟通,提高进度表的可靠性,关注和优先处理正在处理的事情,分离内部和外部讨论,以及一些良好的报告来跟踪事情的处理情况。(我能想到的唯一批评就是它不会做案例阻塞和依赖跟踪,这对于那些深埋的错误非常有用。)
这个功能集合中的很少一部分会帮助您构建一个活跃的开放源代码项目,具有开放的生动交流并需要构建社区并使用户在项目增长中成为开发人员。因此,如果您想要最终到达的地方就是这里,那么您可能真的需要这些轻量级跟踪系统的不太专注的通信渠道。
我还没有在项目上使用Google Code,但就透明和开放的交流而言,它看起来像是一个支持活跃开源项目的好支持。另外你已经知道它了。如果你想增加你的项目参与度,Google代码看起来是一个不错的选择。

7
谢谢你提供的所有有用信息。Google Code还有一个额外的好处——如果它缺少某个功能,我更有可能能够实现它 :) (我相信Fogbugz等软件也认真考虑用户的功能请求,但在Google Code上,我可以利用20%的时间直接修改系统本身……) - Jon Skeet

28

GitHub 最近推出了自己的问题追踪器。 我还没有进行竞争分析,以确定它与本帖提到的其他选项相比如何。


GitHub现在内置了项目管理功能。虽然它相当简约(类似于37signals),但如果您将其用于版本控制和项目管理,它们的价格是有竞争力的。https://github.com/features/projects - m33lky

14

我使用GitHub和Lighthouse来进行问题跟踪。与其他选项相比,它可能有些简陋,但如果您只想要一个轻量级工具而不必担心太多,它非常有效。如果您需要,它可以与GitHub集成,并且对于开源项目也是免费的。


12

通常当有人提出这个问题时,我会像在这个问题中所做的那样,提到Redmine。我知道这个问题已经有了它的“最佳答案”,但我认为值得一提。


更新:http://www.redmine.org/ - dparkar

10
我们使用的是不是Git,而是Mercurial的 bitbucket.org ,但它确实可以对分支进行漏洞/问题跟踪等。
我认为将这些内容与源代码管理的位置集成起来非常有用,以便交叉引用提交消息中的问题编号之类的内容。或者修复包含代码修订号的问题的信息。如果选择像Google code这样的单独BTS,则会丢失此功能。如其他答案所述,Trac在集成方面非常出色。
编辑:我应该说,对于我最广泛使用的开源项目,我们实际上将其放在以下位置:
  1. Bitbucket(源代码管理)
  2. Launchpad(用户错误报告,翻译管理)
  3. 自托管的Trac(wiki,项目和开发人员问题跟踪,源代码镜像)
  4. Google code(文件下载)
我知道这听起来很疯狂,但我们从每个服务中挑选出最好的部分。令人惊讶的是,没有人抱怨。 * 在我看来更好,但请不要攻击我。

这里不会有任何攻击 - 我没有使用过Mercurial,所以无法发表评论。我认为如果我真的要“移动”源代码托管,我会直接转到Google Code和svn,因为我已经熟悉了。我保留github存储库 - 但请参见我的问题编辑... - Jon Skeet
3
在我看来,SVN 是 Google 代码库的主要缺点。但正如你所说,这完全取决于你的个人喜好和习惯。 - Ali Afshar
也编辑了以反映我自己的个人使用方式。 - Ali Afshar
我知道这很傻,但是我会有困难将任何我真正想保存的数据提交到名为“bitbucket”的服务器。 - T.E.D.
1
Bitbucket现在也支持Git。 - Radek

8

你考虑过Trac吗?

有一个git-Trac集成的“热情”评论。

我个人没有使用这些工具的经验,但你可能想要查看这个集成。


我提到的Fogbugz/Assembla问题似乎暗示Trac落后于FogBugz。我也喜欢托管项目讨论的想法(尽管如果必要,我肯定可以使用Google Groups)。 - Jon Skeet

1

在工作中,我们使用FogBugz,我认为它是迄今为止最好的工具。除了超过2个用户之外,我会在非营利项目上使用它,因为它太昂贵了。

对于非营利项目,我们使用Lighthouse进行问题跟踪。它的价格还算可以接受,而且说实话,在其价格范围内,我真的找不到任何合适的替代品。Trac的问题跟踪比Bugzilla稍微好一点...我知道很多人喜欢Trac,但我觉得它非常不灵活。Trac的缺陷导致我们选择了Lighthouse。

我的非营利项目可能会考虑转移到Bitbucket。除了问题跟踪外,它还可以让我们从beanstalkapp.com整合我们的存储库,并添加一个wiki。

话虽如此,如果FogBugz-on-Demand的定价与Lighthouse.app相似,我会毫不犹豫地将我们迁移到那里。当你在工作中使用FB,晚上再使用Lighthouse.app时...使用Lighthouse感觉就像你的手臂被砍掉了。


1

我在一些地方使用Github和Google Code。Google Code的问题跟踪器还不错,但我无法处理Subversion。

可以查看我的Java Memcached客户端作为示例 - 特别是顶部的源代码选项卡。


很棒。看起来这是一个非常好的解决方案。我可能仍然会克隆到Subversion,以便那些想要使用它的人更容易地使用 - 我希望尽可能包容。 - Jon Skeet
2
我想,对于任何想要Subversion的人来说,GitHub的下载功能都足够了。任何比从您的svn存储库下载最新版本更高级的操作可能已经在使用Git了。 :) - Dustin

1
我也使用带有 Lighthouse 的 Github。如果您的提交消息包含类似于
[#32 state:resolved]
Lighthouse 将针对该提交解决票号 #32,我觉得这很快速和有用。除此之外,Lighthouse 功能有点少。

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接