Google Code + SVN 或 GitHub + Git [关闭]

Posted

技术标签:

【中文标题】Google Code + SVN 或 GitHub + Git [关闭]【英文标题】:Google Code + SVN or GitHub + Git [closed] 【发布时间】:2010-10-22 21:48:16 【问题描述】:

首先让我告诉你,我从来没有使用过除了 SVN 之外的任何东西,而且我也是 Windows 用户。

我有几个简单的开源项目,当我很高兴发布他们的源代码时,其他项目正在进行中。无论哪种方式,我都在考虑使用 Google Code 和 SVN 来共享我的项目的源代码,而不是在我的网站上提供指向源代码的链接。这一直很痛苦,因为每次发布新版本时我都必须更新二进制文件和代码。这也将帮助我在某个地方备份我的代码,而不仅仅是我的本地机器(我曾经有一个本地 Subversion 服务器正在运行)。

我想要从这样的服务中得到的东西非常简单...... 我只想要一个地方来存储我的源代码,人们可以根据需要下载它,这样我就可以控制修订并提供简单易用的问题/错误系统,以便人们可以提交错误和类似的东西。我猜他们都有这个。

但我不想在他们的网站上托管任何二进制文件。我希望将其托管在我的网站上,以便我可以使用自己的脚本控制下载统计信息。我也不需要 wiki 页面,因为我更喜欢在自己的网站上拥有所有文档。这些服务是否提供了一种方法来“禁用”诸如 wiki 和下载之类的功能,并且根本不为我的项目显示它们?

现在,我确信将 Google Code 与 SVN 和 GitHub 与 Git 结合使用有很多优点和缺点(当然),但以下是对我来说重要的每一点,以及我喜欢它们的原因:

谷歌代码:

与任何 Google 页面一样,复杂性几乎不存在 每个人(或几乎每个人)都有一个 Google 帐户,如果人们想使用问题系统报告问题,这很好

GitHub:

可能(或可能不会)比 Google 的页面复杂一点(不过对我来说不是问题),但是... ...具有比 Google 的服务更漂亮的界面 需要人们在 GitHub 上注册才能发布问题 我喜欢使用 Git,您可以在本地进行自己的修订(我可以为此使用 TortoiseGit 吗?)

基本上就是这样。不多,我知道...

关于每个网站/软件,您还能告诉我哪些其他常见的优缺点?请记住,我的项目很简单,我可能是唯一一个会在这些存储库上开发这些项目的人(或者可能不会,但现在我是)。

【问题讨论】:

Re:“禁用”功能,我知道 Google Code 允许您通过转到管理->标签来隐藏 wiki 和下载等标签,并且您可以在主页上提供返回主页的链接 @uglysmurf GitHub 也具有相同的管理功能。 :) 你实际上也可以在 Github.com 上使用svn,但 Github 上的问题跟踪器是个笑话——他们可能不提供。如果您打算使用 Github,我建议您使用 Redmine 或 Trac 进行问题管理。 我当然希望 Google Code 支持 Git,在您开始使用 Git 之后 - 其他一切都感觉不自然!如果您想为 GitHub 上的项目做出贡献 - 只需 fork !当您完成更改后,原始项目所有者可以在合并回来之前查看您的分支(进行广泛的测试等)。多个分支可以同时存在并由不同的用户开发——这一切都可以在一个很好的时间线上进行可视化,显示所有的分叉、提交和合并。我可以这样说:这是一个不那么单一且更透明的开发过程。 @Frank:SVN 也允许签出 repos 并创建分支。如果你不喜欢 SVN,Google Code 支持 Mercurial。 【参考方案1】:

谷歌代码是supporting Mercurial now。 Mercurial 应该为您提供 Git 的大部分好处,但您可以获得 Google Code 的成熟度。如果你愿意,你也可以选择在那里进行颠覆。

【讨论】:

好点,我自己从未注意到这一点。用于 mercurial 的 windows 工具要好得多,imo 也是如此。尽管出于各种原因,我更喜欢 git 模型。 GC 尚不支持 mercurial - 它只是针对特定用户的测试版。 好点——考虑到这一点,问题应该是 Google Code 与 GitHub,而不是 SVN 与 Git。我更喜欢 Google Code,但 GitHub 有一些有趣的独特社交方面,我认为它没有任何不成熟的地方。 Nazgulled,几乎任何东西都比 svn 好。如果您对其他任何事情都没有经验,我认为您放下脚并做出如此坚定的决定是不明智的。 (也就是说,我这几天主要是一个git用户,但是我用了很长时间hg对它有一个很好的理解)。 到目前为止,GC mercurial 已经过测试版了。【参考方案2】:

谷歌代码项目托管now supports Git.

【讨论】:

+1 是的,而且设置再简单不过了。这应该是新接受的答案。【参考方案3】:

GitHub 有两个主要优势:

    它使用 git(呃!) 这是一个非常“社交”的环境。

GitHub 让为他人的代码做出贡献变得非常容易,并且他们也很容易将其重新集成。他们还内置了很多很酷的 post-commit 钩子 -在;例如,当我提交到我的一个存储库时,会向我的 Google Groups 公告列表发送一封电子邮件,并且一个机器人会弹出到 irc 频道,给出更改的摘要,然后再次弹出。我知道at least one CI 服务会在 GitHub 提交(或者更确切地说,推送)上触发。

如果您打算将其作为一个相当小的单独项目,那么您可能不会发现 GitHub 的大部分功能都那么有用。

【讨论】:

是的。为了了解美丽 - 必须使用 GitHub。 在 GitHub 的网页上,总是跟在“Social Programming”这个词后面,现在从熊老师那里,我可以推断出:Social programing 就是大规模的编程,(可能是从 Agile 中的 pair progaming 开始的)。 【参考方案4】:

我本人对 TortoiseGit 并没有特别积极的体验。我真的很喜欢 git 模型,但是当我尝试在 Windows 上使用它时,我觉得它的一切都很奇怪。我经常最终只使用 cygwin 版本,但即使这样也远非完美。

老实说,对于您想要开源的小型项目,我可能只是托管在 google 代码上并暂时处理 SVN。如果您已经是 git 专家,情况可能会有所不同,但我不确定学习曲线对于基于 Windows 的小型项目是否值得(尤其是考虑到可能被关闭的 Windows 开发人员的数量)它)。

【讨论】:

Windows 上的 Git 对我来说总是很奇怪。它的 Linux 根源太深了。 为什么 Windows 用户如此反 Git?我是一个刚开始使用 Git 的 Windows 用户,我喜欢它。 +1 即使我喜欢 git 并且不喜欢 svn(这是关于 dvcs 与 cvs 的对比,对于 Josiah 来说太长了)。但是在这种情况下,我会留在已知领域 - svn,因为它们确实有一些不同的工作流程 - 通常对于相同的命名事物,分支是最大的例子。 不管它值多少钱,我认为这里的答案和问题现在都已经过时了。 Google Code 现在支持 Git,我相信 Windows 上的 Git 现在也能很好地运行。 @JosiahSprague Git 在 Windows 中仍然很烂。每天使用 Windows 计算机工作,但在 VirtualBox 上打开 Linux Mint 克隆进行开发,因为我无法忍受在没有“git cola”和“gitk”的情况下使用 git 进行开发。 Tortoise 非常适合 SVN,但在 Git 上感觉很尴尬。【参考方案5】:

这些是谷歌代码的答案(我使用并且非常满意):

但我不想托管任何二进制文件 在他们的网站上

所以不要 - Google 服务条款中的任何内容都没有要求您这样做。

我也不需要 wiki 页面

wiki 页面,就像 GC 站点上的几乎所有选项卡一样,可以禁用和隐藏。

为什么不为您的项目创建一个 Google 代码页面(大约需要 2 分钟,而且是免费的)并使用管理选项来查看它是否符合您的要求?

【讨论】:

因为每次我注册一项新的 Google 服务时,如果我不想再次使用它,我就永远无法将它从我的帐户中删除,这让我很烦恼,我是一个非常整洁的人。此外,二进制文件背后的东西实际上并不是你指向它的东西......有没有办法,我可以在 GC 页面中有下载链接,但将它们指向特定的 url?尽管如此,GitHub 有一个非常好的界面,就像有人说的那样,社交方面不是很重要,但非常漂亮和整洁。 您可以在主页上创建下载链接,但我认为没有任何方法可以让您的二进制文件出现在下载选项卡下。【参考方案6】:

Github 现在支持 Subversion http://slashdot.org/submission/1232328/

【讨论】:

【参考方案7】:

听起来 Google Code 更适合您的需求,即它使用 SVN(现在是 Mercurial,但 SVN 因为那是您最熟悉的)。至于您不太关心的其他功能,那么是的,您可以通过在 UI 中禁用它们的选项卡来禁用它们。

我是 Google Code 的粉丝 - 它简单明了。

【讨论】:

【参考方案8】:

SVN 是我使用过的第一种源代码控制。它工作了一段时间,但在切换到 GIT 后我再也没有回头。听起来阻止你使用 git 的最大问题是一个很好的工具。我用了一段时间的 tortoiseSVN,在过渡的时候尝试了 tortoiseGit,但不太满意。

试试Git Extensions,它是迄今为止在任何操作系统上最好的 git gui 界面。

【讨论】:

【参考方案9】:

为什么不同时使用?您可以使用 google 代码来托管项目并使用 github 作为您的存储库。以robotium.org 为例。

【讨论】:

你也可以同时push code到googlecode和github,这样你就有备份了。【参考方案10】:

很明显 git 正在获胜并且它是一个很棒的工具(但它需要时间)。有了谷歌代码 git 支持, github/gcode 之间没有真正的大区别。如果你喜欢在同一个提供者上拥有私有存储库和公共存储库,那么 github 也是如此。 另外我正在使用 Eclipse 和 egit 插件(3.7.x)是 eclipse 项目的一部分,但在大多数情况下需要作为插件安装。

【讨论】:

【参考方案11】:

bitbucket(用于 git 和 mercurial)或Team Foundation Service(用于 git 和 TFS(Microsoft CVS))呢?它们都提供 5 个免费的私有存储库和 git 支持。此外,Bitbucker offers a git client for mac 和 windows 和 TFS 提供了LOT of project managment tools.

我认为 bitbucket 和 tfs 不像 github 那样社交,但如果您需要私有存储库,也许您想放松这种“社交性”

希望这能给桌面带来一些光明。

【讨论】:

以上是关于Google Code + SVN 或 GitHub + Git [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

持续集成之二:搭建SVN服务器(SvnAdmin)

选择 Google Code、SourceForge 和 Codeplex 有啥固有的好处或缺点吗? [复制]

第三方中文分词器整理

将代码从 svn 迁移到 google 代码

使用VisualStudio或VisualStudio Code作为代码比较工具

SVN服务器钩子脚本无法正常执行(exit code 255)