git-up

So git pull merges by default, when it should really rebase. You can ask it to rebase instead, but it still won't touch anything other than the currently checked-out branch. If you're tracking a bunch of remote branches, you'll get non-fast-forward complaints next time you push.

Solve it once and for all:

gem install git-up

although

git-up might mess up your branches, or set your chest hair on fire, or be racist to your cat, I don't know. It works for me.

configuration

git-up can check your app for any new bundled gems and suggest a bundle install if necessary.

It slows the process down slightly, and is therefore enabled by setting git-up.bundler.check to true in your git config, either globally or per-project. To set it globally, run this command anywhere:

git config --global git-up.bundler.check true

To set it within a project, run this command inside that project's directory:

git config git-up.bundler.check true

Replace 'true' with 'false' to disable checking.

If you're even lazier, you can tell git-up to run bundle install for you if it finds missing gems. Simply set git-up.bundler.autoinstall to true, in the same manner. As above, it works globally or per-project, but make sure git-up.bundler.check is also set to true or it won't do anything.