当 git 远程 URL 已包含 http://user:password 时,强制 git Push 询问用户和密码/令牌

问题描述 投票:0回答:1

当我克隆我的项目时,我用

克隆了它
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 authentication github token git-push
1个回答
0
投票

我发现一个不太理想的解决方案是编辑 .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 文件中,这是不可取的

© www.soinside.com 2019 - 2024. All rights reserved.