是否存在Git默认分支的Bazaar等价物?

是否存在Git默认分支的Bazaar等价物?,git,bazaar,Git,Bazaar,使用git,我可以创建分支,而不必分支我的目录结构。当我在分支之间切换时(假设所有内容都已提交),它将更改我正在处理的文件的内容,以反映“当前”分支的状态 我真的很喜欢能够做到这一点——它非常适合我的工作流程,尤其是当我使用Visual Studio时 但我是集市迷。我喜欢它主要是用Python编写的,我喜欢(对我来说)GUI是多么漂亮和简单,我喜欢它非常跨平台 所以我的愿望是这是可能的,我的问题是:Bazaar能模仿git的行为吗?如果是这样,怎么办?我在Bazaar使用(重量级)结账,所以我

使用git,我可以创建分支,而不必分支我的目录结构。当我在分支之间切换时(假设所有内容都已提交),它将更改我正在处理的文件的内容,以反映“当前”分支的状态

我真的很喜欢能够做到这一点——它非常适合我的工作流程,尤其是当我使用Visual Studio时

但我是集市迷。我喜欢它主要是用Python编写的,我喜欢(对我来说)GUI是多么漂亮和简单,我喜欢它非常跨平台

所以我的愿望是这是可能的,我的问题是:Bazaar能模仿git的行为吗?如果是这样,怎么办?

我在Bazaar使用(重量级)结账,所以我不确定这对您来说是否完全相同,但您应该能够使用
开关
命令来实现这一点。例如:

mkdir source-repo
bzr init-repo --no-trees source-repo
bzr init source-repo/trunk
bzr co source-repo/trunk workdir
cd workdir
# Hack hack hack
bzr add
bzr ci -m "Done some stuff"
# Now create a branch and change the working directory files to match it
bzr switch -b my-new-branch
# We're now working on a checkout of ../source-repo/my-new-branch
# Hack hack hack
bzr add
bzr ci -m "Working on the branch"
# Now go back to the trunk (no -b as we're not creating the branch)
bzr switch trunk
# Working directory files now match the trunk branch
# Hack hack hack
bzr add
bzr ci -m "Changes to trunk"
# Merge in the changes from my-new-branch
bzr merge ../source-repo/my-new-branch
bzr ci -m "Merged my-new-branch"
当然,您也可以使用分支的绝对路径,但相对路径可以节省大量键入。不幸的是,merge命令需要完整路径


这就是你要找的东西吗?

这个:在这里可能会有帮助。我之前已经看过了,而且刚刚试过。除非我遗漏了什么,否则它不会改变目录中当前的内容-只允许你克隆我已经可以做的分支,所以哇哇!太棒了!正是我想要的。另一个小问题-除了
rm-rf../source repo/my new branch
,你知道删除分支的其他方法吗?不知道:当我真的需要删除分支时,我倾向于使用
rm-rf
。考虑到分支只存储更改(本例中代码和历史记录的其余部分在共享存储库中:source repo/.bzr),它们只占用很少的空间,我倾向于将它们留在那里。如果您试图整理目录结构,则始终可以将它们组织在子目录中或使用前缀。