大佬教程收集整理的这篇文章主要介绍了由另一个 GitHub 帐户错误地推送到 GitHub,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个名为 a
的本地存储库,它已经与 GitHub 帐户 A
的名为 A-github
的远程存储库相关联,
我还有一个名为 b
的本地存储库,它尚未与任何远程存储库关联。
我为 GitHub 帐户 B
创建了一个名为 B-github
的新远程存储库,并尝试从本地存储库 B
向 b
进行第一次推送。
B
的页面反映了 b
的提交。B
页面显示的第一次推送的用户名并不是b
的名字,而是另一个GitHub账户A-github
的名字.(图标图片也和A-github
页面设置的一样)A-github
) 时,我进入了 A-github
帐户的页面。Contribution activity
的概览页面上的A-github
上。我猜这是本地存储库 git config
的 b
的问题。我尝试了 git config -l
,发现 user.name
和 user.email
是这样加倍的:
...
...
user.name = the user name I use for repository `a` and `A`
user.email = the user email I use for repository `a` and `A`
...
...
user.name = the user name I use for repository `b` and `B`
user.email = the user email I use for repository `b` and `B`
...
...
...
我想让 git 使用正确的用户 (b
) 来推送到 B
,如果可以,我想取消由 A-github
完成的推送
我该怎么办?
我已经通过包管理器安装了 git filter-repo
并尝试了 here 所示的方法,
使用 git filter-repo --mailmap my-mailmap
将文本文件格式化为
Correct name <correct@email.com> <old@email.com>
然后,我按了 Enter。 然而结果就是sHell刚刚返回
Python
似乎什么也没发生。 我想我需要更多的试验。
我有点担心我没有正确使用 git filter-repo
。
我的理解是,我首先需要创建一个格式如下的文本文件:
Correct name <correct@email.com> <old@email.com>
其中 Correct name
和 <correct@email.com>
是我想替换已写入提交日志的当前作者和提交者的姓名和电子邮件,<old@email.com>
是当前写入的电子邮件在日志中。
我在输入电子邮件时将 <>
放在两端。
这样好吗?
我发现我的电脑上好像需要提前安装 Python 才能使用 git-filter-repo
命令,所以我前段时间通过 Scoop 安装了 Python。
我再次尝试执行上面的命令,这次sHell返回:
CAnnot read my-mailmap
另一个困难来了。
既然讨论已经偏离了这个话题,I posted a new question 和我会结束这个问题。谢谢你的建议。
首先,在您的存储库中执行 git config -l --show-scope --show-origin
:这样,您一定会看到什么是本地配置,它会覆盖全局配置。
其次,您可以在 repoB 中使用 git filter-repo
to change the user.name/email of your commits:然后需要 git push --force
它(如果您独自在该新存储库上工作,这不是什么大问题)。
以上是大佬教程为你收集整理的由另一个 GitHub 帐户错误地推送到 GitHub全部内容,希望文章能够帮你解决由另一个 GitHub 帐户错误地推送到 GitHub所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。