Suppose I have a project that will be using some of the Google APIs. In order for me to make it easier to work with the API, I want to use the PHP library that Google provides (https://github.com/google/google-api-php-client) Should I just clone it into my current project, and add it to .gitignore? Should I clone it, and start using git modules, or should I just copy the files that I need, and add them to .gitignore?
Another scenario would be when I'm working with libraries that I've created, and that I have locally. Should I clone them into the current project? Should I create symlinks to the files that I need?
Finally, there are some libraries that aside from having the code hosted in github, also provide 'stand alone' files. Think for example of jQuery. In these cases, is it better to just download the file they provide? Or is it better to clone the repository into the current project?
I'm guessing this all has to do with software architecture. Any book recommendations in that topic?