假设我有一个项目将使用一些 Google API。为了让我更容易使用 API,我想使用 Google 提供的 PHP 库 ( https://github.com/google/google-api-php-client ) 我应该将它克隆到我当前的项目中,然后将它添加到 .gitignore 中吗?我应该克隆它并开始使用 git 模块,还是应该只复制我需要的文件并将它们添加到 .gitignore?
另一种情况是,当我使用我创建的并且在本地拥有的库时。我应该将它们克隆到当前项目中吗?我应该为我需要的文件创建符号链接(symbolic link)吗?
最后,有些库除了将代码托管在 github 中之外,还提供“独立”文件。以 jQuery 为例。在这些情况下,只下载他们提供的文件是否更好?还是将存储库克隆到当前项目中更好?
我猜这一切都与软件架构有关。有关于该主题的书籍推荐吗?
最佳答案
包管理器是为这个用例而设计的。
在 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 获得)。
这两种工具都允许使用任意和/或私有(private)存储库。
关于git - 我应该 git clone 我的依赖项吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24193258/