Search code examples
gitbranchbazaar

Local branches with Bazaar?


I've been playing around with Git recently to get a grasp of distributed version control. Now I'm looking at Bazaar, but can't figure out how to make a local branch, i.e. a branch that I do not have to push to when I want to commit changes. With Git, I would do

git branch branch_name

or

git checkout -b branch_name

I can then work in my local branch, committing changes as I go, without having to push changes to a remote repo. When I'm through with the branch, I can merge it to my local master branch. If I want, I can then push those changes to the remote repo.

Is this possible with Bazaar? Bazaar seems much more like SVN, with branches just being separate directories, so maybe not.


Solution

  • Yes, you definitely can do that.

    Let's say there's a remote repository at bzr+ssh://foo.com/repo/mainline

    You can create a local branch by doing:

    bzr branch bzr+ssh://foo.com/repo/mainline local_branch
    

    Now, you can make changes to the local_branch and commit them, and those changes are only in that local directory. e.g.:

    cd local_branch
    touch foo
    bzr add foo
    bzr commit -m "Add foo."
    

    That will add foo only in the local branch.