如何安全地更改Github账户名?

22

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

但是,我担心会产生后果,并且想知道更改名称的最佳策略,考虑到我有一些与此帐户相关的项目。

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

  1. 在GitHub设置中更改账户名
  2. 对于每个项目的本地文件夹,在“.git / config”文件中更新remote "origin" URL为新URL

这个方法可以实现吗?在保存项目源代码的电脑上是否需要进一步操作?更改名称会对那些克隆或派生我的GitHub项目的人产生什么影响?

谢谢!


2
当你联系GitHub询问他们的产品时,他们对这个支持问题做出了什么回应? - Emil Vikström
他们发送了以下内容:
发件人:Tekkub(GitHub员工) 主题:重命名用户帐户场景对于(2),最好不要直接编辑配置,可以尝试这个链接:https://help.github.com/articles/changing-a-remote-s-url修复URL是您在重命名时唯一需要担心的事情,其他都不会改变。
这样做效果很好。唯一的问题是,那些在本地克隆了我的项目的人需要手动重新克隆或更新远程仓库。
- mikhail-t
3个回答

15

GitHub最近改变了他们的用户名更改系统,现在为您设置重定向。

来自GitHub帮助中心的“更改用户名后会发生什么?”

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

指向您以前的个人资料页面的链接(例如https://github.com/previoususername)返回404错误。 我们无法为@提及之类的引用设置从旧用户名到新用户名的重定向。

但是,为您所有的存储库设置了重定向。 旧位置的Web和git访问仍然可以使用,并且重定向到新的用户名。


14

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重定向或类似的东西。你可以更改本地克隆的仓库,但是其他人必须指向新的仓库地址(就像在第一步中一样)

注意:Github的派生仓库可以正常使用。


2
工作得很好!此外,还有一个略微不同的命令可以完成相同的操作:https://help.github.com/articles/changing-a-remote-s-url - mikhail-t
@Petros,我之前说的“fork”,其实是其他人所说的“git clone”。但在Github上你是对的。因为所有的fork都有不同的远程源。谢谢提醒!我会更改的。 - Fatih Arslan
3
注意:GitHub现在已经为重命名用户的存储库设置了URL重定向,因此您的克隆不会出错。 - Nick McCurdy

4
我在我的~/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

这有点像一个技巧,但它可以很好地工作,只需进入git存储库并调用git reremote(确保它在您的$PATH中,并且您已经修复了旧和新变量)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接