zwe*_*d40 2 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
Run Code Online (Sandbox Code Playgroud)
至少我已经能够克隆一个 repo,但是我无法分别推送更改的内容。Ubuntu 18.04 正在我的笔记本电脑上运行。我需要做什么来解决我的问题?
您已经知道每个遥控器都存储一个 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>
Run Code Online (Sandbox Code Playgroud)
如果你像我一样,你可能也想知道git config --edit,这将.git/config在你让 Git 用于其他所有内容的同一个编辑器中打开配置文件(通常只是),在那里你可以直接编辑它。但是git remote该工具是为摆弄附加到每个远程名称的设置而设计的。