“克隆存储库”是什么意思,为什么它被认为是安装此 PHP 库的必要步骤?

“克隆存储库”是什么意思,为什么它被认为是安装此 PHP 库的必要步骤?

用法

克隆此存储库后(git clonehttps://github.com/naneau/php-obfuscator) 并通过 Composer (composer install) 安装依赖项,运行以下命令来混淆 PHP 文件的目录:

来源:https://github.com/naneau/php-obfuscator

我从未使用过“git”、“克隆存储库”,也没有 GitHub 帐户,也无法注册。我通过“composer install something”使用了无数库。我从未需要“克隆存储库”才能使其中任何一个正常工作。

“克隆存储库”是什么意思,为什么(显然)需要使用这个特定的库?另外,请注意,作者没有提到 Composer 中该库的实际名称,我觉得这非常奇怪。(它们有时在那里有非常不明显的名称。)

答案1

欢迎来到超级用户。

克隆存储库就是抓取所有源文件并将其复制到您的计算机,以便您使用它们。看起来您正在下载源文件而不是已编译的库。如果 GitHub 页面或自述文件中没有库的下载链接,您可以自行编译该库。

答案2

你的主要问题没有“技术”答案。唯一的答案是“这是项目作者决定放在 README 中的内容”,除非你直接去问他们,否则你只会得到试图猜测某个陌生人的思维过程的答案

为什么这个特定的库如此特殊,因为它需要一些“git”的东西?

该项目的 README 似乎是为独立bin/obfuscate工具而编写的——作者很可能没有计划将其用作图书馆一点儿也不!

然而,它实际上并不需要一些“git”的东西;这只是项目作者在 README 中描述的。但你总是可以下载文件的 .zip 存档。项目composer.json也可通过 Composer 获得,并且从一开始就有一个文件。

另外,请注意,作者没有提到 Composer 中该库的实际名称,我觉得这非常奇怪。(它们有时在那里使用非常不明显的名称。)

可能是作者假设你会简单地尝试与 GitHub 地址中相同的名称,即naneau/php-obfuscator,或者你会通过阅读项目的“composer.json”文件来找到该名称。我认为假设它是完全合理的将要默认有一个明显的名称。

话虽如此,并非所有项目通过 Composer 自动可用 – 要实现这一点,作者需要先注册一个 Packagist.org 帐户并在那里发布每个项目。未发布实际上并不“特殊”,它是默认状态。

所以在一般情况下,没有什么非常这种情况并不常见。也许(假设的)开发人员根本不关心 Composer,甚至不知道它的存在。也许开发人员主要将项目视为命令行工具而不是库依赖项。也许开发人员优先考虑 Git,因为项目正在大力开发,并且尚未处于“发布”状态。也许开发人员和您一样,没有 Packagist 帐户,也无法注册。

“克隆存储库”是什么意思

大致上,它类似于将项目文件下载为 .zip 或 .tar.gz 档案。

由于 Git 是一个版本控制工具(即用于跟踪代码随时间的变化),使用git clone下载其存储库的不同之处在于,您将立即获得全部版本。默认情况下,它还会为您提供最新的“开发”版本,该版本自 0.0.5 版本发布以来发生了一些变化。

我从来没有使用过“git”,“克隆存储库”,

也许是时候开始这样做了。一般来说,虽然使用 Git 不是强制性的(Hg 又名 Mercurial 和 SVN 是两种最常见的替代方案),但使用一些这种“版本控制系统”可能是使用任何语言、任何平台进行编程时最佳实践的首要项目。

你会发现最多库和其他项目都托管在 Git 存储库中,并且 Composer 经常“在幕后”使用 Git。

我没有 GitHub 账户,也无法注册

使用 Git 和使用 GitHub 是有区别的。前者是一种工具,后者是托管服务提供商。无需拥有 GitHub 帐户即可使用 Git,就像无需拥有网络托管帐户即可使用 PHP 编程一样。

无论如何,无需账户即可下载来自 GitHub 的某些内容 — — 当然不适用于可公开访问的存储库。

答案3

“克隆存储库”是什么意思,为什么(显然)需要使用这个特定的库?

Git是一个版本控制工具。也就是说,程序作者使用它来管理(添加/删除/更新)程序的源代码文件(在本例中,即脚本中使用的实际 PHP 文件)。

正如本问题的其他答案中已经详细说明的那样,“克隆”是git指将源文件(PHP 文件)复制到 PC。这可能是为了让其他人也可以修改源代码,然后使用git这些更改来更新 GitHub 等网站上的文件,或者可以简单地“分发”当前可用的任何文件。

与 Composer 类似的程序不同,git它只是将文件复制到目标或从目标复制文件。它不打算进行任何依赖性检查等。

另外,请注意,作者没有提到 Composer 中该库的实际名称,我觉得这非常奇怪。(它们有时在那里使用非常不明显的名称。)

看着composer.json主存储库中的文件,看起来名称可能是php-obfuscator

我还假设该composer install命令将从同一目录运行,因此 Composer 可能会自动检测到composer.json

我问的是为什么这个git步骤会存在。

因为作者预计其他人可能会选择使用该工具将源文件下载到他们的计算机,而不是手动下载文件。

这与使用图书馆有什么关系?

除了将文件复制到电脑外,没有其他操作。

为什么这个特定的库如此特殊,因为它需要一些“git”的东西?

该库并不特殊,也不git需要执行此步骤。如果您愿意,可以单击绿色的大“克隆或下载”按钮并选择“下载 ZIP”选项,以 zip 文件的形式下载存储库。

我从来没有用过“git”,“克隆过仓库”,也没有GitHub账号,也无法注册。

如上所述,只需下载存储库的压缩版本即可。您不需要帐户即可执行此操作。

相关内容