【问题标题】:Revision control and hosting comparison [closed]修订控制和托管比较[关闭]
【发布时间】:2010-11-21 23:27:06
【问题描述】:

我知道这个问题以前以不同的形式被问过很多次,而且我是一个无知的 n00b,因为我认为我可以在讨论中添加任何内容。但是,我不仅对版本控制系统感兴趣,而且对它的托管选项、兼容的应用程序和 Windows 兼容性感兴趣。

如果您没有使用多个系统的经验,请告诉我您使用的是什么:版本控制系统、代码托管、实现(vc 程序)和操作系统。

我只有几个限制:

  • 我想使用一个在 Linux 和 Windows 中都运行良好的程序。这意味着至少有一个等效的命令行界面。
  • 实现必须足够稳定,我不必经常在 Linux 上重新编译,我从不必须在 Windows 上编译。
  • 版本控制必须至少有一个兼容的免费代码托管站点(用于开源项目)。如果托管网站本身是开源的,那将是理想的选择。
  • 版本控制标准必须是开源的。

对不起,如果我听起来像一个要求别人做决定的苛刻小子。我只是想学习你的经验,这样我就不用反复切换版本控制系统了。

您会推荐什么主要的、与 Windows 兼容的版本控制系统?

【问题讨论】:

  • 感谢比较;我想我会坚持使用 SVN 来避免我和任何加入我项目的人的复杂性。我很可能会在家里独自开发这个项目,并使用稳定的宽带连接,所以我认为没有理由处理 DVCS 的复杂性。 @mods 感谢您没有关闭我的“问题”。

标签: version-control open-source repository


【解决方案1】:

首先,您可能会从 ACM 队列中最近发表的这篇论文中受益:
Making Sense of Revision-control Systems

我将概述我最了解的两个,其他人可以告诉你。

SVN:

GIT:

  • 极其强大的 SCM
  • 每次检出源代码树时都有完整的源代码历史记录。
  • 不是最大的 Windows 支持,但目前在改进方面取得了长足的进步。 http://code.google.com/p/msysgit/
  • 许多免费主机:githubrepo.or.cz
  • 目前的“酷孩子”。

听起来您可能只想使用 svn。 听起来您只是想将东西置于版本控制之下,这样您就不必担心与 GIT 相关的学习曲线。

其他可以看,但由于普遍缺乏 Windows 工具,我没有详细说明:Mercurial、Darcs、Bazaar。 如果您确实检查了 mercurial,您可以使用 bitbucketgoogle code 作为主机。

【讨论】:

  • 比我的回答详细得多。 +1。不要忘记 TortoiseGit (code.google.com/p/tortoisegit) 和 egit (Eclipse Git Plugin, code.google.com/p/egit)。
  • 我不知道 TortoisGit,谢谢,我通常只使用 CLI。我用过Eclipse GIT Plugin,挺不错的。
  • 那篇文章非常透彻且内容丰富。我没有意识到 Git 不断合并的可能复杂性。
【解决方案2】:

最常用/已知的修订控制系统之一可能是Subversion (SVN)

我每天都在 Linux 和 Windows 上使用它(用于个人和专业项目),无论是在 CLI 还是图形工具中。

  • Windows : 我经常使用TortoiseSVN
  • Windows/Linux :我通常使用 Eclipse 及其 Subversive 插件
  • Windows/Linux:CLI 中的“svn”命令也很棒,尤其是当您想使用一些脚本来自动化 struff 时。

请注意,我不需要为 SVN 编译任何东西(在 Windows 上,使用 TortoiseSVN 可以;在 Linux Ubuntu 上,Ubuntu 捆绑的软件包也可以)


对于托管,由于很多项目都在使用 SVN,所以您有很多可能性,尤其是对于开源项目。

  • 例如,Google code 允许您使用 SVN 来托管您的项目
  • 如果我没记错的话,SourceForge (see) 也是如此。
  • 当然,您还有其他可能性,例如Assembla


如果您想要Distributed revision control 软件,您可以查看BazaarMercurial 和/或Git 等工具。每一个都被一些大型项目使用(嗯,至少对于 Bazaar(我认为 MySQL 使用它)和 Git(Linux Kernel 使用它))

我在 Linux 和 Windows 上都使用过 Bazaar,但只在命令行中使用;从来没有任何问题。我知道 Linux 和 Windows 都有图形工具,但从来没有用过那么多,所以我真的不能多说。


不过,如果您不需要分布式系统,我会毫不犹豫地选择 Subversion。

【讨论】:

  • 您还会在 Linux 上获得几个图形 SVN 客户端。此外,Emacs 支持的所有操作系统始终都有 Emacs 模式。
  • 附注:Google 代码也支持 mercurial。
  • 谷歌代码项目托管服务,2016年初被拒绝
【解决方案3】:

我使用Git,主要是因为我在许多工作站(在家或在工作中)上进行开发,而 DVCS 更容易复制我的存储库,而且对于分支、合并设施以及初始化和导入的速度也更容易代码到一个新的存储库中。

  • 我想使用一个在 Linux 和 Windows 中都运行良好的程序。这意味着至少有一个等效的命令行界面。

"git" 是您的 CLI,可以在 DOS 会话和 bash 会话中使用。

  • 实现必须足够稳定,我不必经常在 Linux 上重新编译,也不必在 Windows 上编译。

msysgit 现在在 Windows 上相当稳定,如问题“Git under windows: MSYS or Cygwin?”中所述(不需要 Cygwin)。

  • 版本控制必须至少有一个兼容的免费代码托管站点(用于开源项目)。如果托管网站本身是开源的,那将是理想的选择。

GitHub 是免费代码托管的一个很好的例子

  • 版本控制标准必须是开源的。

git.git查看 Git 的源代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-10
    • 1970-01-01
    • 1970-01-01
    • 2011-10-17
    • 1970-01-01
    • 2012-06-19
    • 2011-06-19
    相关资源
    最近更新 更多