Originally it took me a while to get on board with using Bower as part of my main development workflow. My biggest gripe was the way it handled repositories that were missing a bower.json file to configure ignored files etc.
In that scenario the whole repository is installed into the bower_components folder and although there are two sides to it, checking that fluff into my Git repository doesn't feel right. That is of course, until Grunt came along.
Like most of life's problems, Grunt can help.
The process goes a little like this:
* Instructing Git (or your chosen VCS) to ignore the bower_components folder
* Checking for and installing any updated packages
* Copying the required files across into a directory that gets checked in to the VCS
By selectively copying files this way our repository can be kept free from test folders, READMEs and other cruft.
If you then needed to update jQuery to the latest version all it would require is changing the version number in the bower.json (or by installing it on the CLI), running the Grunt task and then committing the updated files to the repository. No manual downloads or file copying required.