I\'ve set up tracking branches with the --track option, and when I do a git pull on master, it fetches all branches to origin/br
--track
git pull
master
origin/br
SmartGit, for example, has an option to automatically merge changes from the tracked branch if you switch to a branch. This should do what you want to achieve.