我在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。 我该怎么做才能解决我的问题?
答案 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
是设计用来摆弄每个远程名称附带的设置的工具。