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

Rom*_*gan 19 git version-control bazaar

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

Von*_*onC 27

我想你也读过Bazaar vs. Git的文章,但最后,这一切都归结为所期待的"功能丰富的代码管理".

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

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

可以肯定的是,重新阅读Linus对Git 的最初设想(早在2005年4月).如果你同意它,Git可能会提供你想要的东西.简而言之:

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

在项目管理方面,"所有项目"概念实际上是Git 的优势和限制:您不应该将所有内容都放在一个 Git存储库中.

  • 我不确定"文件"与"内容"的确切含义.Bazaar已经允许你挑选你想要提交到分支的文件,所以我看不到有一个临时区域获得了什么.我不知道你怎么可能*不希望跟踪文件信息.例如,在java中,您确实需要确保所有文件都具有正确的名称,但无论项目是什么,它仍然很重要.当我想到"文件"管理时,我会想到sourcesafe和cvs的每个文件版本 - 这个集市绝对不是. (5认同)

Ins*_*ter 12

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

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

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


Dav*_*eau 9

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

我懒得改写自己的印象,但总结一下:

  • bzr在各个平台上的工作更加一致
  • bzr更容易被发现(如果给你任何文档的工具,任何半合格的用户将能够使用bzr,git不是这样)
  • bzr更容易以API方式扩展,git更容易以unix方式扩展(管道)
  • git是非常强大的恕我直言; 特别是,我确信他们的重命名处理方法和内容跟踪对于许多情况来说是正确的
  • bzr revno系统不好恕我直言.它看起来更简单,但是一旦你开始拥有许多分支并改变主线,它就会让人感到非常困惑.


Mat*_*Moy 9

Bazaar的发展已经停止.最新版本是2.6,日期为2013-08-04. 2015年4月以来,已有不到20份提交.

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

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

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