【问题标题】:git The requested URL returned error: 403 for pushing a newly created branch on a public repositorygit The requested URL returned error: 403 for push a new created branch on a public repository
【发布时间】:2020-09-30 14:00:32
【问题描述】:

我在 Stackoverflow 上阅读了各种答案,但没有任何帮助。

情况是这样的。我克隆了一个公共 repo 并创建了一个新分支,然后在分支中提交我的更改,现在我想推送分支。

(base) mona@goku:~/research/summer2020/synthetic-computer-vision$ git push -u origin master sidod
Username for 'https://github.com': monajalal
Password for 'https://monajalal@github.com': 
remote: Permission to unrealcv/synthetic-computer-vision.git denied to monajalal.
fatal: unable to access 'https://github.com/unrealcv/synthetic-computer-vision.git/': The requested URL returned error: 403

结果如下:

$ git config --list
credential.helper=osxkeychain
user.name=Mona Jalal
user.email=jalal@bu.edu
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
core.ignorecase=true
core.precomposeunicode=true
remote.origin.url=https://github.com/unrealcv/synthetic-computer-vision.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master

我创建了一个新的 RSA,并在删除旧的 RSA 后将其粘贴到我的 git 设置中。我什至删除了钥匙串访问中 git 的条目:

现在是:

我该如何解决这个问题?

其他信息:

$ git status
On branch sidod
nothing to commit, working tree clean


$ git --version
git version 2.24.3 (Apple Git-128)

$ git branch
  master
* sidod

我使用的是 OSX 10.15.2

这是我克隆的公共 git 存储库:https://github.com/unrealcv/synthetic-computer-vision

【问题讨论】:

    标签: git git-branch git-push


    【解决方案1】:

    您似乎正在尝试推送到原始存储库。您需要删除该遥控器,并为您的 fork 添加遥控器,然后推送到该遥控器。

    【讨论】:

    • 不需要移除那个遥控器。 OP 可以添加第二个远程 (git remote add mine url-to-my-repo),然后可以将分支推送到第二个远程,然后可以针对原始 repo 请求 PR。
    • 就个人而言,当每个工作目录都以相同的方式管理时,我发现 Git 更易于管理:origin 是我可以推送到的远程存储库,或者是主存储库。如果以后 OP 需要与 fork 的原始源进行交互,他们总是可以再次添加它。在不使用origin 时连接多个遥控器会导致混淆并在未来与错误的存储库交互。
    • 为什么不git remote set-url origin url-to-my-repo?
    • 就我个人而言,记住和使用少量命令要容易得多(在这种情况下,git remote rm ...、git remote add ...)
    【解决方案2】:

    试试

    rm ~/.gitconfig
    touch ~/.gitconfig
    

    然后

    git config --global user.email <my-email@email.com>
    git config --global user.name <my-username>
    

    转到您的Personal access tokens,生成新的访问令牌,然后在要求您在git push origin main 后面输入密码时复制并粘贴它。

    对我来说,在这样做之后,我发现“github.com”已经再次自动生成到 Keychain Access 中。

    【讨论】:

      猜你喜欢
      • 2021-02-10
      • 2021-08-16
      • 1970-01-01
      • 1970-01-01
      • 2019-02-08
      • 2021-09-07
      • 2020-10-26
      • 2022-11-20
      • 1970-01-01
      相关资源
      最近更新 更多