当我克隆我的项目时,我用
克隆了它git clone https://my_user:[email protected]/path_to_my_repo
现在,URL 中包含的令牌是只读令牌,但是,我在其他地方有可用的写访问令牌,我可以用它来执行 git Push。
现在唯一的问题是, git push 不起作用,因为它说
remote: Write access to repository not granted.
fatal: unable to access 'https://github.com/path_to_my_repo/': The requested URL returned error: 403
有没有一种简单的方法可以让所有内容保持原样,不更改远程 URL,并且通过一些标志或参数发送到 git push,以便我可以输入用户和令牌(具有写访问权限)?
我发现一个不太理想的解决方案是编辑 .git/config 文件并用 '#' 注释掉 '[remote "origin"]' 下的 url,然后复制它并修改它具有所需的用户和令牌。
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
# url = https://user1:[email protected]/user/repository.git
url = https://user2:[email protected]/user/repository.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
这样,就可以执行 git Push,然后返回并注释掉添加的 url,并取消注释原始 URL。
不过,我仍在寻找更轻松的解决方案,因为 这会将两个令牌留在 .git/config 文件中,这是不可取的。