如何安全地更改github帐户名?

如何安全地更改github帐户名?,git,github,rename,account,Git,Github,Rename,Account,我想更改我的github帐户名,我在github帐户设置中找到了一个选项 然而,考虑到我自己的一些项目与该账户有关,我担心其后果,并想知道什么是改名的最佳策略 到目前为止,我提出了这个计划: 在GitHub设置中更改帐户名 对于“.git/config”文件中每个项目的本地文件夹,将远程“源”url更新到新文件夹中 这样行吗?在保存项目源的计算机上是否应该有进一步的步骤?对于那些在GitHub上克隆或分叉我的项目的人来说,名称更改会产生什么影响 谢谢大家! 1.)您必须更改所有项目的远程地址。您

我想更改我的github帐户名,我在github帐户设置中找到了一个选项

然而,考虑到我自己的一些项目与该账户有关,我担心其后果,并想知道什么是改名的最佳策略

到目前为止,我提出了这个计划:

  • 在GitHub设置中更改帐户名
  • 对于“.git/config”文件中每个项目的本地文件夹,将远程“源”url更新到新文件夹中
  • 这样行吗?在保存项目源的计算机上是否应该有进一步的步骤?对于那些在GitHub上克隆或分叉我的项目的人来说,名称更改会产生什么影响

    谢谢大家!

    1.)您必须更改所有项目的远程地址。您可以通过以下方式查看它们:

    git remote -v
    
    然后删除旧的远程地址:

    git remote rm git@github.com:old_account/foo.git
    
    最后添加新的远程地址:

    git remote add origin git@github.com:new_account/foo.git
    
    2.)所有克隆的回购协议都将中断。没有URL重定向或任何类似的内容。您可以更改本地克隆的回购,但其他人必须指向新的回购地址(如步骤1)


    注意:Github forked repos的工作没有任何问题。

    我在我的~/bin中留下了一个名为git reremote的脚本,其中包含以下内容:

     #!/bin/sh
    old=richoH
    new=richo
    git remote -v | grep $old | while read name url type; do
        newurl=`echo $url | sed -e "s/$old/$new/"`
        git remote set-url $name $newurl
    done
    

    这有点像黑客,但它工作得很好,只需将cd插入git repo并调用
    git reremote
    (在确保它位于您的
    $PATH
    中,并且您已经修复了新旧变量之后)。

    GitHub最近更改了用户名重命名系统,现在为您设置了重定向

    从GitHub帮助中:

    在GitHub端,一切都会像您的新用户名 始终是您的名字。您的所有存储库现在都将属于 新名称和旧用户名将基本上不再存在。 启动更改后,这可能需要几分钟才能完成

    指向上一个配置文件页面的链接,例如 ,返回404错误。我们无法设置 将旧用户名重定向到新用户名,以进行如下引用 @提到

    但是,会为所有存储库设置重定向。web和 git对旧位置的访问继续运行,并重定向 指向新用户名


    当您向GitHub咨询有关其产品的此支持问题时,GitHub说了什么?他们发送了此邮件:--------------------------------------发件人:Tekkub(GitHub员工)主题:重命名(2)的用户帐户方案,最好不要直接编辑配置,试试这个:修复URL是重命名时唯一需要担心的事情,没有其他变化。--------------------------------------效果很好。唯一的事情是-那些在本地克隆我的项目的人需要手动重新克隆或更新远程设备,效果很好!另外,还有稍有不同的命令可以实现同样的效果:@Petros with fork我的意思是其他人实际上是“git clone”。但在Github中你是对的。因为所有的fork都有不同的远程来源。谢谢你的通知!我会更改它注意:Github现在有来自重命名用户的存储库URL重定向,所以你的克隆不会中断。