23

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

4

7 回答 7

30

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

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

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

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

  • 非常简单的模型(blob-tree-commit-tag)
  • 没有添加元数据(例如用于跟踪重命名)
  • “强”原则如:
    • “文件”无关紧要。唯一重要的是“内容”如何在树中移动
    • 您有一个 SCM 可以跟踪真正重要的唯一级别的更改,即整个项目。在较小的粒度上,所有信息实际上都没有任何意义,因为根据定义,“项目”依赖于其他文件,否则它就不是项目

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

于 2009-06-18T07:21:47.250 回答
14

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

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

通常 Bazaar 似乎在做正确的事。我从来没有真正遇到过它做一些愚蠢的事情或让我做一些愚蠢的事情。

于 2009-06-18T03:19:12.883 回答
10

我认为这取决于您的个人品味-两者都有争论。从 0.8 天开始,我已经将 bzr 广泛用于个人项目已有几年了,但我去年改用了 git,并且从未回头,至少在源代码管理方面。

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

  • bzr 跨平台工作更一致
  • bzr 更容易被发现(如果你有任何文档的工具,任何半胜任的用户都将能够使用 bzr,这对于 git 来说并非如此)
  • bzr 更容易以 API 方式扩展,git 更容易以 unix 方式(管道)扩展
  • git 是非常强大的恕我直言;特别是,我相信他们的重命名处理方法和内容跟踪方法在许多情况下都是正确的
  • bzr revno 系统不好恕我直言。它看起来更简单,但是一旦您开始拥有许多分支并更改主线,它就会变得非常混乱。
于 2009-06-18T10:26:58.657 回答
10

Bazaar的发展已经停止。最后一个版本是 2.6,日期为 2013-08-04。自 2015 年 4 月以来,提交的次数少于 20 次

如果您从版本控制开始,您应该考虑一个处于活动状态的版本控制(很可能是 Git 或 Mercurial)。

编辑 1:自从我的帖子发布以来,发布了 2.7 版本,但这并没有改变这个项目基本上已经死掉的事实,每年大约有 10 次提交。

编辑 2:现在有一个名为Breezy的集市分支,其活动比集市多。我怀疑这将成为一个真正活跃的项目,但至少这意味着该工具得到了维护(例如,它应该在 Python 2 结束后仍然存在,Breezy 的目标之一是移植到 Python 3)。

于 2015-04-27T19:11:19.160 回答
2

Bazaar 与 ubuntu 集成得很好,我已经使用 ubuntu 很多年了,厌倦了切换到其他更怪异的发行版,但没有意义。我选择 bazaar 而不是 git/mercurial 因为 bazaar 通知在 Ubuntu 中集成得非常好。此外,您还可以从 Launchpad 获得免费托管,这是一个巨大的优势。

于 2009-07-16T03:55:08.427 回答
1

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

编辑:实际上,我错了。--no-trees + 轻量级结帐确实像 Git 一样工作。谢谢,FryGuy。哦,我发现这个博客条目包含有用的信息。

于 2009-07-09T13:30:12.140 回答
1

使用 git vs bzr/hg 的最佳理由是因为 github 很摇滚。Launchpad 还可以,但 github 的搜索、社交和风格都不错。

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

于 2015-05-29T19:39:40.747 回答