我想更改我的github帐户名,我在 GitHub 帐户设置中找到了一个选项。
然而,我担心后果,并想知道更改名称的最佳策略是什么,考虑到我有一些我自己的项目与此帐户绑定。
到目前为止,我想出了这个计划:
这会有用吗?是否应该在拥有项目资源的计算机上有任何进一步的步骤?名称更改会对那些在GitHub上克隆或分叉项目的人产生什么影响?
谢谢!
答案 0 :(得分: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重定向或类似的东西。您可以更改本地克隆回购,但其他人必须指向新的回购地址(如步骤1)
注意:Github forked repos工作没有任何问题。
答案 1 :(得分:12)
GitHub最近更改了用户名重命名系统,现在为您设置重定向。
来自GitHub帮助中的What happens when I change my username?:
在GitHub端,一切都会像你的新用户名一样 一直是你的名字。您的所有存储库现在都属于 新名称和旧用户名基本上不再存在。 在您开始更改后,这可能需要几分钟才能完成。
指向您之前的个人资料页面,例如 https://github.com/previoususername,返回404错误。我们无法设定 从旧用户名重定向到新用户名以获取引用 @mentions。
但是,会为所有存储库设置重定向。网络和 git访问旧位置继续运行,并重定向 朝着新的用户名。
答案 2 :(得分:3)
我在〜/ 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
之后,并且你已经修复了旧的和新变量。