假设我有一个将使用某些Google API的项目。为了让我更容易使用API,我想使用Google提供的PHP库(https://github.com/google/google-api-php-client)我应该将它克隆到我当前的项目中,并将其添加到.gitignore中吗?我应该克隆它,并开始使用git模块,还是应该只复制我需要的文件,并将它们添加到.gitignore?
另一种情况是我正在使用我创建的库,而且我在本地工作。我应该将它们克隆到当前项目中吗?我应该为我需要的文件创建符号链接吗?
最后,有些库除了在github中托管代码外,还提供“独立”文件。想想jQuery的例子。在这些情况下,最好只下载他们提供的文件吗?或者将存储库克隆到当前项目中是否更好?
我猜这一切都与软件架构有关。该主题中的任何书籍推荐?
答案 0 :(得分:1)
为这个用例制作了包管理器。
在PHP中,主包管理器是Composer,可以在Packagist.org上找到包。根据Google API PHP客户端存储库中的composer.json
文件,其包为https://packagist.org/packages/google/apiclient。
Composer会将这些库(以及自动加载文件)安装在名为vendor
的目录中,您可以将其添加到.gitignore
,这样它们的内容就不会被提交。 Composer根据您的composer.json
文件处理依赖项的安装和更新。
对于JavaScript库,经常使用http://bower.io/(尽管许多JS库也可以通过Composer / Packagist获得)。
这两个工具都允许使用任意和/或私有存储库。
答案 1 :(得分:0)
我的方式:
对于你的例子:jquery:你想修改jquery吗?我猜不是:不要克隆它。