git pull带有访问令牌,git push带有用户名/密码

时间:2018-09-21 14:06:00

标签: linux git command-line-interface

我在git push方面遇到问题。这里有许多与此问题有关的话题,但都不适合我的问题。

我工作的公司拥有自己的gitlab。政策仅是https,不允许使用ssh。对于克隆和提取,需要访问令牌。仅使用用户名/密码推送。不要问我潜在原因。不幸的是我不知道。

错误消息是:

$ git push
fatal: unable to access 'https://<username>:<AccessToken>@<domain>/<owner>/<reponame>.git/': The requested URL returned error: 403

至少我已经能够克隆一个仓库,但是我无法分别推送更改的内容。我的笔记本电脑上正在运行Ubuntu 18.04。 我该怎么做才能解决我的问题?

1 个答案:

答案 0 :(得分:0)

您已经知道每个远程存储的URL:origin字面意思是 https://<username>:<AccessToken>@<domain>/<owner>/<reponame>.git/

您所不知道的是,每个远程实际上都存储着两个 URL。一个用于git fetch,第二个用于push。第二个URL默认与第一个URL相同,但是如果您设置,则可以将其设置为其他任何内容,例如不带访问令牌的URL。要设置第二个URL,可以使用git remote set-url --push

git remote set-url --push origin <url>

如果您像我一样,可能还想了解git config --edit,它将在您使用Git的同一编辑器中打开配置文件(通常仅为.git/config)。其他所有内容,您都可以直接在其中进行编辑。但是git remote是设计用来摆弄每个远程名称附带的设置的工具。

相关问题