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

时间:2023-02-05 14:10:58

I'm researching the Git and Bazaar capabilities and wonder which one has more feature-rich code management?

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

8 个解决方案

#1


I suppose you also read Bazaar vs. Git article, but in the end, it all comes down to what you are looking for in term of "feature-rich code management".

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

  • If, by code management, you are referring to file (and directories and renaming), go with Bazaar.

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

  • If, by code management, you are looking at content management, Git is designed to manage just that (the staging area, for instance, allows you to record what current content you want to commit, even though you have already begun to make some large modification you end up not wanting to commit in the current branch)

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

To be sure, re-read Linus's original vision for Git (back in April 2005). If you do agree with it, chances are Git will deliver what you want. In short:

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

  • very simple model (blob-tree-commit-tag)
  • 非常简单的模型(blob-tree-commit-tag)

  • no metadata added (for tracking renaming for instance)
  • 没有添加元数据(例如用于跟踪重命名)

  • "strong" principles like:
    • "files" do not matter. The only thing that matters is how "content" moved in the tree
    • “文件”无所谓。唯一重要的是“内容”如何在树中移动

    • You have an SCM that tracks what changed at the only level that really matters, namely the whole project. None of the information actually makes any sense at all at a smaller granularity, since by definition, a "project" depends on the other files, or it wouldn't be a project
    • 您有一个SCM可以跟踪真正重要的唯一级别的变化,即整个项目。根据定义,“项目”取决于其他文件,或者它不是项目,所以这些信息实际上都没有任何意义。

  • “强”的原则如:“档案”无所谓。唯一重要的是如何在树中移动“内容”你有一个SCM跟踪真正重要的唯一级别的变化,即整个项目。根据定义,“项目”取决于其他文件,或者它不是项目,所以这些信息实际上都没有任何意义。

That "all project" notion is actually a strength an a limit for Git in term of project management: you should not seek to put everything into one Git repository.

在项目管理方面,“所有项目”概念实际上是Git的一个优势:你不应该把所有东西放到一个Git仓库中。

#2


It's going to come down to personal preference, plain and simple.

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

I use Bazaar and find it extremely easy. The staging are concept in Git gives some nice flexibility but it also adds complexity. You can quite easily manage code in Bazaar with something like 4 commands (add, commit, merge (maybe push/pull) and log or qlog), and you only need merge if you want multiple branches.

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

Usually Bazaar seems to do the right thing. I've never really had a problem with it doing something stupid or letting me do something stupid.

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

#3


I think it depends on your personal taste - there are arguments for both of them. I have used bzr extensively for personal projects for a couple of years, since the 0.8 days, but I have switched to git last year, and never looked back, at least for source code management.

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

I am too lazy to rewrite my own impression, but to sum it up:

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

  • bzr works more consistently across platforms
  • bzr在不同平台上的工作更加一致

  • bzr is more discoverable (if you are given the tool wo any documentation, any semi-competent user will be able to use bzr, that's not so true with git)
  • bzr更容易被发现(如果给你任何文档的工具,任何半合格的用户将能够使用bzr,git不是这样)

  • bzr is easier to extend in an API way, git is easier to extend in a unix way (pipes)
  • bzr更容易以API方式扩展,git更容易以unix方式扩展(管道)

  • git is immensely more powerful IMHO; in particular, I am convinced that their approach for rename handling, and content tracking is the right one for many cases
  • git是非常强大的恕我直言;特别是,我确信他们的重命名处理方法和内容跟踪对于许多情况来说是正确的

  • the bzr revno system is not good IMHO. It looks simpler, but it is deeply confusing once you start having many branches and change the mainline.
  • bzr revno系统不好恕我直言。它看起来更简单,但是一旦你开始拥有许多分支并改变主线,它就会让人感到非常困惑。

#4


Bazaar's development has stopped. The last release is 2.6, dated 2013-08-04. There have been less than 20 commits since then as of April 2015.

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

If you're starting with version control, you should consider one that is active (most likely this will be Git or Mercurial).

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

Edit 1: a 2.7 release was made since my post, but it doesn't change the fact that the project is essentially dead with ~10 commits/year.

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

Edit 2: there's now a fork of bazaar called Breezy with more activity than Bazaar. I doubt this will become a really active project, but at least this means the tool is maintained (it should survive the end of Python 2 for example, one of the goals of Breezy being to port to Python 3).

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

#5


See:

What are the relative strengths and weaknesses of Git, Mercurial, and Bazaar?

Git,Mercurial和Bazaar的相对优势和劣势是什么?

#6


The one thing that Git does much, much better is handling lots of branches. It does it much faster than bzr, and doesn't require multiple copies of the source code. All branches are inside the same directory. I find myself using git branches much more often than I used to do with bzr, specially because my repo is not small and also involves binary files (total 180MB).

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

EDIT: Actually, I'm wrong. --no-trees + lightweight checkout does work like Git. Thanks, FryGuy. Oh, and I found this blog entry which has useful information.

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

#7


Bazaar is very well integrated with ubuntu, I have been using ubuntu for many years now, tired to switch to other more geeky distro, but no point. I choose bazaar over git/mercurial coz bazaar is notifications are very well integrated in Ubuntu. In addition you get free hosting from Launchpad which is a huge plus.

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

#8


The best reason to use git vs bzr/hg is because github rocks. Launchpad is OK, but github gets search, social and style right.

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

Technically launchpad is probably better in many ways. Merges, integrated build systems, and other features make launchpad appealing to many. The builtin editor on github, the gists... there's a flow there that launchpad doesn't have. Visually, socially, there's no competition.

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

#1


I suppose you also read Bazaar vs. Git article, but in the end, it all comes down to what you are looking for in term of "feature-rich code management".

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

  • If, by code management, you are referring to file (and directories and renaming), go with Bazaar.

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

  • If, by code management, you are looking at content management, Git is designed to manage just that (the staging area, for instance, allows you to record what current content you want to commit, even though you have already begun to make some large modification you end up not wanting to commit in the current branch)

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

To be sure, re-read Linus's original vision for Git (back in April 2005). If you do agree with it, chances are Git will deliver what you want. In short:

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

  • very simple model (blob-tree-commit-tag)
  • 非常简单的模型(blob-tree-commit-tag)

  • no metadata added (for tracking renaming for instance)
  • 没有添加元数据(例如用于跟踪重命名)

  • "strong" principles like:
    • "files" do not matter. The only thing that matters is how "content" moved in the tree
    • “文件”无所谓。唯一重要的是“内容”如何在树中移动

    • You have an SCM that tracks what changed at the only level that really matters, namely the whole project. None of the information actually makes any sense at all at a smaller granularity, since by definition, a "project" depends on the other files, or it wouldn't be a project
    • 您有一个SCM可以跟踪真正重要的唯一级别的变化,即整个项目。根据定义,“项目”取决于其他文件,或者它不是项目,所以这些信息实际上都没有任何意义。

  • “强”的原则如:“档案”无所谓。唯一重要的是如何在树中移动“内容”你有一个SCM跟踪真正重要的唯一级别的变化,即整个项目。根据定义,“项目”取决于其他文件,或者它不是项目,所以这些信息实际上都没有任何意义。

That "all project" notion is actually a strength an a limit for Git in term of project management: you should not seek to put everything into one Git repository.

在项目管理方面,“所有项目”概念实际上是Git的一个优势:你不应该把所有东西放到一个Git仓库中。

#2


It's going to come down to personal preference, plain and simple.

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

I use Bazaar and find it extremely easy. The staging are concept in Git gives some nice flexibility but it also adds complexity. You can quite easily manage code in Bazaar with something like 4 commands (add, commit, merge (maybe push/pull) and log or qlog), and you only need merge if you want multiple branches.

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

Usually Bazaar seems to do the right thing. I've never really had a problem with it doing something stupid or letting me do something stupid.

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

#3


I think it depends on your personal taste - there are arguments for both of them. I have used bzr extensively for personal projects for a couple of years, since the 0.8 days, but I have switched to git last year, and never looked back, at least for source code management.

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

I am too lazy to rewrite my own impression, but to sum it up:

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

  • bzr works more consistently across platforms
  • bzr在不同平台上的工作更加一致

  • bzr is more discoverable (if you are given the tool wo any documentation, any semi-competent user will be able to use bzr, that's not so true with git)
  • bzr更容易被发现(如果给你任何文档的工具,任何半合格的用户将能够使用bzr,git不是这样)

  • bzr is easier to extend in an API way, git is easier to extend in a unix way (pipes)
  • bzr更容易以API方式扩展,git更容易以unix方式扩展(管道)

  • git is immensely more powerful IMHO; in particular, I am convinced that their approach for rename handling, and content tracking is the right one for many cases
  • git是非常强大的恕我直言;特别是,我确信他们的重命名处理方法和内容跟踪对于许多情况来说是正确的

  • the bzr revno system is not good IMHO. It looks simpler, but it is deeply confusing once you start having many branches and change the mainline.
  • bzr revno系统不好恕我直言。它看起来更简单,但是一旦你开始拥有许多分支并改变主线,它就会让人感到非常困惑。

#4


Bazaar's development has stopped. The last release is 2.6, dated 2013-08-04. There have been less than 20 commits since then as of April 2015.

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

If you're starting with version control, you should consider one that is active (most likely this will be Git or Mercurial).

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

Edit 1: a 2.7 release was made since my post, but it doesn't change the fact that the project is essentially dead with ~10 commits/year.

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

Edit 2: there's now a fork of bazaar called Breezy with more activity than Bazaar. I doubt this will become a really active project, but at least this means the tool is maintained (it should survive the end of Python 2 for example, one of the goals of Breezy being to port to Python 3).

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

#5


See:

What are the relative strengths and weaknesses of Git, Mercurial, and Bazaar?

Git,Mercurial和Bazaar的相对优势和劣势是什么?

#6


The one thing that Git does much, much better is handling lots of branches. It does it much faster than bzr, and doesn't require multiple copies of the source code. All branches are inside the same directory. I find myself using git branches much more often than I used to do with bzr, specially because my repo is not small and also involves binary files (total 180MB).

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

EDIT: Actually, I'm wrong. --no-trees + lightweight checkout does work like Git. Thanks, FryGuy. Oh, and I found this blog entry which has useful information.

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

#7


Bazaar is very well integrated with ubuntu, I have been using ubuntu for many years now, tired to switch to other more geeky distro, but no point. I choose bazaar over git/mercurial coz bazaar is notifications are very well integrated in Ubuntu. In addition you get free hosting from Launchpad which is a huge plus.

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

#8


The best reason to use git vs bzr/hg is because github rocks. Launchpad is OK, but github gets search, social and style right.

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

Technically launchpad is probably better in many ways. Merges, integrated build systems, and other features make launchpad appealing to many. The builtin editor on github, the gists... there's a flow there that launchpad doesn't have. Visually, socially, there's no competition.

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