docwhat's avatardocwhat's blog

Git Tip: empty branch

Ever wanted to make an empty branch (with no history in it) in git? It’s not hard…

Why would you want to do this? Well, for example, I have a new project in github. I’m trying to implement it in several ways, jRuby, Java, Qt, etc. Having separate branches is really handy.

Another reason you might want to do this is for upstream tracking. I used this to cold-start a branch where I commit all the changes of an upstream project and then merge them into my customized branch. Git makes tracking an upstream project much easier.

Anyway, enough of that. Here’s how to do it:

# WARNING: Make sure you've committed all your work...
#
# Point git at a new branch:
git symbolic-ref HEAD refs/heads/yournewbranch

# Remove the index file so it doesn't know about the files
# that are already checked out:
rm .git/index

# Clean up all the files that were checked out before:
git clean -xfd

# Done!

Comments

Gravatar for andree
andree

seems that git checkout --orphan is a more transparent way to do this…

Gravatar for docwhat
docwhat

Cool, didn’t know about git checkout --orphan. Looks like it was added recently-ish; it was added in 1.7.2.

Submit a Comment

docwhat

The personal blog of Christian Höltje.
docwhat docwhat contact