Git 以错误用户身份推送到远程 GitHub 存储库

2023-12-30

我有一个工作 GitHub 帐户和一个个人帐户。首先,我使用个人帐户进行测试项目,然后我继续使用同一台计算机上的另一个帐户创建存储库。

现在我想再次在我的个人帐户上创建一个新的存储库,我更改了全局和本地user.name,并创建了一个新的 ssh 密钥对,在 GitHub 设置页面中输入。然后我设置目录

git init
git remote add origin <url>
git push origin

但这现在告诉我

错误:personaluser/newrepo.git 的权限被拒绝

我不知道另一个帐户是如何连接到这个帐户的。.git/config显示没有workusername相关的事情。

如果您使用的是 Windows 10,请花点时间阅读 Rajan 的回答。


这听起来与我目前的工作设置非常相似。看来你已经设置了单独的ssh-keys所以你还需要创建一个~/.ssh/config文件并使用类似于以下内容的信息填充它:

Host work.github.com
    HostName github.com
    User WORK_GITHUB_USERNAME
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_work_rsa
    IdentitiesOnly yes

Host personal.github.com
    HostName github.com
    User PERSONAL_GITHUB_USERNAME 
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_personal_rsa
    IdentitiesOnly yes

每个属性听起来都很不言自明,但IdentitiesOnly一。我不会尝试解释它的用途,但这在我当前的设置中并且工作正常。

还值得注意的是Host URL只是获取正确用户设置的指针,对于将文件正确发送到目标没有任何影响HostName url.

现在您只需要确保您的origin(或任何remote一般来说)url 匹配正确Host根据您的用户名,在您各自的存储库中找到 url。如果您已有个人存储库,则可以编辑该存储库的.git/config在文本编辑器中创建文件:

[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = [email protected] /cdn-cgi/l/email-protection:PERSONAL_GITHUB_USERNAME/project.git

或通过命令行执行此操作:

git remote set-url origin [email protected] /cdn-cgi/l/email-protection:PERSONAL_GITHUB_USERNAME/project.git

与您的工作一类似:

[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = [email protected] /cdn-cgi/l/email-protection:your_work_organization/project.git

或者再次通过命令行:

git remote set-url origin [email protected] /cdn-cgi/l/email-protection:your_work_organization/project.git

当然,您可以随时设置您的其中一项Host网址在你的~/.ssh/config文件原样

Host github.com

我只用过work.github.com更容易查看配置关系。

一旦这些都设置完毕,您应该能够推送到每个相应的遥控器。

EDIT

我刚刚发现的一件事是,如果你曾经为你的全局 git 配置值设置过user.email值(我猜user.name也会发送不同的值),git 将显示您作为该电子邮件用户的提交。为了解决这个问题,您可以覆盖本地存储库中的全局 git 配置设置:

$ git config user.name "John Doe"
$ git config user.email [email protected] /cdn-cgi/l/email-protection

现在应该以该存储库的正确用户身份发送提交。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Git 以错误用户身份推送到远程 GitHub 存储库 的相关文章

随机推荐

  • 任务管理器显示内存泄漏,但堆快照没有

    我每 5 秒运行一次大量 JavaScript 任务管理器显示内存使用量不断增加 然而堆快照却没有 如果我停止脚本 大约半分钟两分钟后内存将被清除 UPDATE 如果我长时间离开脚本 内存就会增加 直到浏览器崩溃 我还尝试运行 chrome
  • PostgreSQL 对文本数组值的查询

    我有一个表 其中一列有一个数组 但以文本格式存储 mytable id ids 1 3 4 2 3 5 3 3 etc 我想找到数组元素中值为 5 的所有记录ids column 我试图通过使用 字符串到数组 功能并删除 符号与transl
  • 在 NGRX 上的 ActionsSubject 订阅上使用操作的有效负载

    我又旧又坏Property payload does not exist on type Action执行此操作订阅 由于是创建操作 我需要有效负载来签出userId最近创建的用户并导航到 users userId 顺便说一句 我正在关注这
  • 删除测试期间生成的 id

    对于负载测试vu阶段我生成了很多具有唯一 ID 的对象 并将它们放入数据库中 我想在期间删除它们teardown阶段以免污染数据库 当保持这样的状态时 let ids export function setup ids push put i
  • 实现大型文本文件阅读器的最佳策略

    我们有一个应用程序将其处理步骤记录到文本文件中 这些文件在实施和测试期间用于分析问题 每个文件的大小最大为 10MB 最多包含 100 000 行文本 目前 对这些日志的分析是通过打开文本查看器 Notepad 等 并根据问题查找特定字符串
  • ctypes 与 _ctypes - 为什么后者存在?

    我最近了解到Python不仅有一个名为ctypes 其中有一个文档页面 https docs python org library ctypes html 还有一个名为 ctypes which doesn t https docs pyt
  • Android 无需 USB 调试

    我使用 Eclipse 我想使用我的设备调试我的应用程序 但又不损坏其电池 因为我应该始终在电池尚未放电时为其充电 是否可以在不通过 USB 连接的情况下将设备连接到 adb 我尝试使用 logcat 应用程序 但有点不舒服 我搜索了一个不
  • Rails STI,子类除非使用否则不会显示?

    我正在使用 Rails STI 对复杂域进行建模 在视图中 我列出了所有子类 gt li gt li 目的是最终使子类的每个标签都成为指向该子类实例的单独 索引 页面的链接 这使我不必自己拥有所有可能的子类的列表 如果我添加更多子类 则稍后
  • 在 Jest 中调试内存泄漏需要遵循哪些步骤?

    我在 Jest 中的测试似乎正在泄漏 调试此类问题的建议步骤是什么 我对这类问题很陌生 正如你所看到的 我尝试过传入Jest 中记录的选项 https jestjs io docs en cli html forceExit detectO
  • 是否可以在 Haskell 中创建 PHP 扩展?

    是否可以使用 Haskell 创建 PHP 扩展 通常 PHP 扩展是使用 C 编写的 使用 Haskell FFI 为存根 C 扩展提供功能是否可行 甚至是一个好主意 这种方法有哪些注意事项 Zend 是否会在后台施展一些魔法来破坏这样的
  • PhoneGap 电子邮件撰写器插件

    我构建了一个简单的基于 jQuery Mobile 的应用程序 并尝试使用 Phonegap 对其进行编译 我希望用户能够通过电子邮件从应用程序发送一些内容 但我无法弄清楚这一点 My code
  • 使用 Python 在 Windows 上获取目录所有权会导致“访问被拒绝”错误

    我正在尝试使用以下代码获取目录的所有权 sd win32security SECURITY DESCRIPTOR sd SetSecurityDescriptorOwner curUser False win32security SetFi
  • 初始化 UIGestureRecognizer 作为 Swift 中属性定义的一部分?

    我想初始化一个UIPanGestureRecognizer作为一个UIViewController的属性定义 这样我就不必将其声明为可选 如果初始化仅发生在viewDidLoad 以下两次尝试都在编译时失败 我使用的是最新版本的 Xcode
  • 使用asp.net登录控制的部分站点SSL

    我正在尝试将本地登录系统转换为 net 中包含的标准asp net 登录控件 我希望未登录用户在网站上的所有通信都以明文形式进行 但一旦用户登录 就将所有内容锁定在 SSL 中 包括用户名和密码的传输 我之前通过加载第二个页面 logina
  • 具有嵌套列的 Apache Spark 窗口函数

    我不确定这是一个错误 或者只是语法不正确 我四处搜寻 没有看到其他地方提到这一点 所以我在提交错误报告之前在这里询问 我正在尝试使用在嵌套列上分区的窗口函数 我在下面创建了一个小示例来演示该问题 import sqlContext impl
  • SwiftUI:如何在工作表关闭后显示警报?

    我试图显示由模式表触发的警报 这是一个小型演示项目 import SwiftUI struct ContentView View State private var showSheet false State private var sho
  • InvalidStateStoreException:状态存储未在 Kafka 流中打开

    StreamsBuilder builder new StreamsBuilder Map
  • 是否支持小写“dockerfile”文件名以及支持多久了?

    我注意到我可以使用 dockerfile 和小写 d 我有一个客户 他对我们在 dockerfile 上使用小写 d 而不是大写 Dockerfile 提交的解决方案感到非常沮丧 显然 Docker 允许使用小写 d 因为它不会给我任何错误
  • 如何在一个 get 请求中返回多个 Mongoose 集合?

    我正在尝试生成一个响应 返回按 3 个不同列排序的相同集合 这是我目前拥有的代码 var findRoute router route find findRoute get function req res Box find functio
  • Git 以错误用户身份推送到远程 GitHub 存储库

    我有一个工作 GitHub 帐户和一个个人帐户 首先 我使用个人帐户进行测试项目 然后我继续使用同一台计算机上的另一个帐户创建存储库 现在我想再次在我的个人帐户上创建一个新的存储库 我更改了全局和本地user name 并创建了一个新的 s