Git远程URL含只读令牌时,如何强制push输入可写令牌?
解决方法
有几种不用修改远程仓库URL的简便方式,直接在push时指定可写权限的凭证:
临时指定带可写令牌的仓库地址
直接在git push命令里附带完整的带凭证的仓库URL,格式如下:git push https://<你的用户名>:<可写令牌>@github.com/path_to_my_repo <本地分支名>:<远程分支名>比如要推送到main分支,就写:
git push https://my_user:my_write_token@github.com/path_to_my_repo main这种方式完全不会改动本地配置的远程仓库地址,只是本次push临时用这个带权限的地址。
用环境变量临时注入凭证
在执行git push前,通过环境变量临时设置用户名和可写令牌,Git会优先使用这些环境变量的凭证:GIT_USERNAME=my_user GIT_PASSWORD=my_write_token git push注:GitHub的个人访问令牌可以直接作为
GIT_PASSWORD的值使用,用户名填你的GitHub账号名即可。使用
--repo参数指定目标仓库
利用git push的--repo参数,临时指定带凭证的仓库地址,不用修改默认远程:git push --repo=https://my_user:my_write_token@github.com/path_to_my_repo如果你要推的是当前分支对应的远程分支,直接执行上面的命令就行;如果是其他分支,加上分支名即可。
内容的提问来源于stack exchange,提问作者Atti
相关产品推荐
相关产品推荐

