使用Git或Bazaar管理代码更容易吗?

时间:2009-06-18 03:10:41

标签: git version-control bazaar

我正在研究这个问题 GitBazaar功能,并想知道哪个功能更丰富的代码管理?

8 个答案:

答案 0 :(得分:26)

我想您还阅读了Bazaar vs. Git文章,但最后,这一切都归结为正在寻找的“功能丰富的代码管理”。

  • 如果通过代码管理,您指的是文件(以及目录和重命名),请使用Bazaar。

  • 如果通过代码管理,您正在查看内容管理,Git旨在管理它(例如,暂存区域允许您记录当前要提交的内容,即使您已经开始进行一些大修改,最终也不想在当前分支中提交)

可以肯定的是,请重新阅读Git的Linus's original vision(早在2005年4月)。如果你同意它,Git可能会提供你想要的东西。简而言之:

  • 非常简单的模型(blob-tree-commit-tag)
  • 未添加任何元数据(例如,用于跟踪重命名)
  • “强”原则如:
      
        
    • “文件”无所谓。唯一重要的是“内容”如何在树中移动
    •   
    • 您有一个SCM可以跟踪真正重要的唯一级别的变化,即整个项目。根据定义,“项目”取决于其他文件,或者它不是项目
    • ,这些信息实际上都没有任何意义。   

在项目管理方面,“所有项目”概念实际上是Git的强项和 a limit :您不应该将所有内容放入< em>一个 Git存储库。

答案 1 :(得分:12)

这将归结为个人偏好,简单明了。

我使用Bazaar并发现它非常容易。 Git中的临时区域概念提供了一些很好的灵活性,但也增加了复杂性。您可以使用4个命令(添加,提交,合并(可能是推/拉)和日志或qlog)轻松管理Bazaar中的代码,如果您需要多个分支,则只需要合并。

通常Bazaar似乎做对了。我从来没有遇到过做蠢事或让我做些蠢事的问题。

答案 2 :(得分:9)

我认为这取决于你的个人品味 - 两者都存在争议。自从0.8天以来,我已经将bzr广泛用于个人项目几年,但去年我已经转向git,并且从未回头,至少对于源代码管理而言。

我懒得重写我自己的impression,但总结一下:

  • bzr跨平台的工作更加一致
  • bzr更容易被发现(如果您获得任何文档的工具,任何半合格的用户都可以使用bzr,git就不那么真实了)
  • bzr更容易以API方式扩展,git更容易以unix方式扩展(管道)
  • git是非常强大的恕我直言;特别是,我确信他们的重命名处理方法和内容跟踪方法适用于许多情况
  • bzr revno系统不好恕我直言。它看起来更简单,但是一旦你开始拥有许多分支并改变主线,它就会让人感到非常困惑。

答案 3 :(得分:8)

Bazaar的发展已经停止。最新版本是2.6,日期为2013-08-04。截至2015年4月已有less than 20 commits since then

如果你从版本控制开始,你应该考虑一个有效的(很可能是Git或Mercurial)。

编辑1:自我发布以来已经发布了2.7版本,但它没有改变这个事实,即该项目基本上已经死了〜每次提交约10次。

编辑2:现在有一个名为Breezy的市集叉,其活动比Bazaar更多。我怀疑这将成为一个非常活跃的项目,但至少这意味着该工具得以维护(例如,它应该在Python 2结束时存活,Breezy的目标之一就是移植到Python 3)。

答案 4 :(得分:5)

答案 5 :(得分:1)

Git做的很多事情,更好的是处理很多分支。它比bzr快得多,并且不需要源代码的多个副本。所有分支都在同一目录中。我发现自己使用git branches比使用bzr时更频繁,特别是因为我的repo不小而且还涉及二进制文件(总共180MB)。

编辑:实际上,我错了。 --no-trees +轻量级结账确实像Git一样工作。谢谢,FryGuy。 哦,我发现this blog entry有有用的信息。

答案 6 :(得分:1)

Bazaar与ubuntu很好地集成,我已经使用ubuntu多年了,厌倦了转向其他更怪异的发行版,但没有意义。我选择bazaar over git / mercurial coz bazaar是通知很好地集成在Ubuntu中。此外,您可以从Launchpad免费托管,这是一个巨大的优势。

答案 7 :(得分:1)

使用git vs bzr / hg的最佳理由是因为github摇滚。 Launchpad没问题,但是github正确地获得搜索,社交和风格。

技术上,启动板在很多方面可能更好。 Merges,集成构建系统和其他功能使得launchpad吸引了许多人。 github上的内置编辑器,要点......那里有一个启动板没有的流程。在视觉上,在社交方面,没有竞争。