我想要更改我的github账户名,我在GitHub的账户设置中找到了一个选项。
但是,我担心会产生后果,并且想知道更改名称的最佳策略,考虑到我有一些与此帐户相关的项目。
到目前为止,我想出了这个计划:
- 在GitHub设置中更改账户名
- 对于每个项目的本地文件夹,在“.git / config”文件中更新remote "origin" URL为新URL
这个方法可以实现吗?在保存项目源代码的电脑上是否需要进一步操作?更改名称会对那些克隆或派生我的GitHub项目的人产生什么影响?
谢谢!
GitHub最近改变了他们的用户名更改系统,现在为您设置重定向。
来自GitHub帮助中心的“更改用户名后会发生什么?”:
在GitHub方面,一切都好像您的新用户名一直是您的名称。 您的所有存储库现在都将属于该新名称,旧的用户名基本上不再存在。 在启动更改后,这可能需要几分钟才能完成。
指向您以前的个人资料页面的链接(例如https://github.com/previoususername)返回404错误。 我们无法为@提及之类的引用设置从旧用户名到新用户名的重定向。
但是,为您所有的存储库设置了重定向。 旧位置的Web和git访问仍然可以使用,并且重定向到新的用户名。
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的派生仓库可以正常使用。
#!/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
中,并且您已经修复了旧和新变量)。
发件人:Tekkub(GitHub员工) 主题:重命名用户帐户场景对于(2),最好不要直接编辑配置,可以尝试这个链接:https://help.github.com/articles/changing-a-remote-s-url修复URL是您在重命名时唯一需要担心的事情,其他都不会改变。
这样做效果很好。唯一的问题是,那些在本地克隆了我的项目的人需要手动重新克隆或更新远程仓库。 - mikhail-t