Git从composer.json保存部署令牌url,防止推送到repo
Posted
技术标签:
【中文标题】Git从composer.json保存部署令牌url,防止推送到repo【英文标题】:Git saving deploy token url from composer.json preventing pushing to repo 【发布时间】:2019-07-28 04:52:06 【问题描述】:我正在开发基于模块的 Laravel CMS。 这是私有的,这意味着我需要使用 git deploy 令牌,以便我可以使用 composer 来安装/管理这些模块。
例子:
"repositories" :
"repo-name":
"type": "vcs",
"url": "https://gitlab+deploy-token-xxxxx:password@gitlab.com/url-to-repo.git"
,
这通常工作得很好,这意味着当我创建一个新项目时,我可以安装我的模块。 但是 Windows / Git 将部署令牌保存为 Windows 中的 Git 凭据,覆盖了我的正常登录。
这意味着,当我正在开发我的模块并想要推送更改时,Gitlab 会拒绝它,因为 Git 正在尝试使用部署密钥而不是我的正常 Git 凭据上传我的更改。
我的问题:是否有可能以某种方式阻止 Git 将此部署令牌保存为全局 Git 凭据,这样它就不会覆盖我通常的 Git 凭据?
提前致谢!
【问题讨论】:
也许api-credentials 有帮助吗? 我没有看到任何方法可以阻止部署令牌与此 api-credentials 一起保存? 【参考方案1】:当我开发我的模块并想要推送更改时,Gitlab 拒绝它,因为 Git 试图使用部署密钥而不是我的正常 Git 凭据上传我的更改。
检查GitLab 14.6(2021 年 12 月)是否适用于您的情况:
使用 Deploy Tokens 下载 Composer 依赖项
您现在可以使用deploy tokens 来验证与 Composer 存储库交互的用户。以前,personal access tokens 和作业令牌用于对从 GitLab Composer 存储库发布和下载作曲家依赖项的用户进行身份验证。 这些令牌与特定用户绑定。
Deploy tokens 提供一种与特定用户无关的身份验证方法,确保您的生产工作流程更加高效和安全。
请参阅 Documentation 和 Issue。
【讨论】:
【参考方案2】:尝试在您的网址中删除 .git
。
"url": "https://gitlab+deploy-token-xxxxx:password@gitlab.com/url-to-repo"
【讨论】:
您的回复并未说明如何解决问题。以上是关于Git从composer.json保存部署令牌url,防止推送到repo的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Composer 从本地 Git 存储库安装标记提交?