当您使用终端中的 Git 通过 HTTPS 访问私有仓库时,Git 会提示您输入用户名和密码。然后,Git 将这些凭据提交到服务器,并在服务器接受这些凭据并允许访问仓库时继续执行命令。
当 Unity 包管理器使用 Git URL 获取包时,没有终端供用户输入凭据。因此,当服务器从 Git 请求凭据时,Git 不会发出提示。相反,它会向 Unity 包管理器报告错误。要解决此问题,您必须使用 Git 凭据助手配置 Git,并且该助手必须已经加载了该仓库所需的凭据。如果凭据有效,Git 可以成功运行 Unity 包管理器发出的命令。
注意:使用带有 SSH 协议的 Git URL(包括类似 SCP 的语法)时,Git 凭据助手无效。
尽管 Git 支持多个 凭据助手来存储凭据,但 Git 凭据管理器 (GCM) 是推荐的凭据助手。GCM 灵活易于安装,并得到积极支持。它基于 .NET,这意味着它可以在支持 .NET 的 Windows、macOS 和 Linux 发行版上运行。
默认情况下,GCM 使用 Windows 凭据管理器(在 Windows 上)和 macOS Keychain(在 macOS 上)作为配置的凭据存储。GCM 没有为 Linux 配置默认存储。有关 GCM 支持的不同凭据存储配置的更多信息,请参阅 GCM 凭据存储文档。
在您可以使用 HTTPS URL 从私有 Git 仓库获取包之前,请确保您安装了 GCM。
Git for Windows 安装程序包含一个步骤,可以自动安装和配置 GCM。如果您也可以单独安装 GCM
有关安装 GCM 的更多信息,请参阅 GCM 安装说明。
按照以下步骤访问使用 HTTPS Git URL 的私有仓库中的包
通过在终端中运行以下命令来配置 Git 以使用 GCM
git config --global credential.helper manager
使用终端访问仓库一次。例如,运行以下命令
git ls-remote --heads https://<url-to-repository> HEAD
当 Git 提示您时,输入您的凭据。如果您的用户帐户有权访问远程 Git 服务器,并且服务器接受您的凭据,则 Git 凭据助手将安全地存储您的凭据。
使用 Unity 包管理器。它将在必要时使用您的存储的凭据,从您有权访问的基于 HTTPS 的仓库获取包。