A distributed version control system such as Git is designed for complex and nonlinear workflows typical in interactive computing and exploratory research. A central concept is branching, which we will discuss in this recipe.
You need to work in a local Git repository for this recipe (see the previous recipe, Learning the basics of the distributed version control system Git).
We create a new branch named
newidea
:$ git branch newidea
We switch to this branch:
$ git checkout newidea
We make changes to the code, for instance, by creating a new file:
$ touch newfile.py
We add this file and commit our changes:
$ git add newfile.py $ git commit -m "Testing new idea."
If we are happy with the changes, we merge the branch to the master branch (the default):
$ git checkout master $ git merge newidea
Otherwise, we delete the branch:
$ git checkout master $ git branch -d newidea