使用git,我可以创建分支conceptually,而无需分支我的目录结构。当我在分支之间切换(假设所有内容都已提交)时,它将更改我正在处理的文件的内容,以反映“当前”分支的状态。
我真的喜欢能够做到这一点 - 它非常适合我的工作流程,特别是当我使用说,Visual Studio时。
但我是Bazaar的粉丝。我喜欢它主要是用Python编写的,我喜欢GUI是多么漂亮和简单(对我而言),我喜欢它非常跨平台。
所以我的愿望是,这是可能的,我的问题是:Bazaar可以做/模仿git的行为吗?如果是这样,怎么样?
答案 0 :(得分:3)
我在Bazaar中使用(重量级)结账,所以我不确定这对你来说是完全相同的,但你应该能够使用switch
命令执行此操作。例如:
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命令需要一个完整的路径。
这是你要找的东西吗?