如何重命名GitHub上的存储库?

我想在GitHub上重新命名我的一个仓库,但是当一个大的红色警告说:

  1. 我们不会从旧位置设置任何redirect
  2. 您将需要更新您的本地存储库以指向新的位置
  3. 重命名可能需要几分钟的时间才能完成

有没有人有如何手动完成#1和#2的分步说明? 或者我需要在本地做些什么?

如果你是唯一从事这个项目的人,这不是一个大问题,因为你只需要做#2。

假设你的用户名是someuser ,你的项目被称为someproject

那么你的项目的URL将是1

 git@github.com:someuser/someproject.git 

如果您重命名项目,则会更改URL的someproject部分,例如

 git@github.com:someuser/newprojectname.git 

(如果你的URL不是这个样子,请参阅脚注)。

当你做pushpull时,你的git工作副本使用这个URL。

所以,当你重命名你的项目后,你将不得不告诉你的工作副本新的URL。

你可以通过两步来做到这一点:

首先,cd到你的本地git目录,找出哪个远程名称引用了这个URL

 $ git remote -v origin git@github.com:someuser/someproject.git 

然后,设置新的URL

 $ git remote set-url origin git@github.com:someuser/newprojectname.git 

或者在旧版本的git中,你可能需要

 $ git remote rm origin $ git remote add origin git@github.com:someuser/newprojectname.git 

(起源是最常见的远程名称,但可能被称为别的东西。)

但是,如果有很多人在为你的项目工作,他们都需要做上面的步骤,甚至你甚至不知道如何与他们联系来告诉他们。 这就是#1是关于。

进一步阅读:

  • github – 使用遥控器
  • Git Reference – 遥控器
  • Git Book – 分布式工作stream程

脚注:

1您的url的确切格式取决于您使用的协议,例如

  • SSH = git@github.com:someuser / someproject.git
  • HTTPS = https://someuser@github.com/someuser/someproject.git
  • GIT = git://github.com/someuser/someproject.git

请注意,自2013年5月以来(“ 存储库redirect在这里! ”),您可以在不中断任何链接的情况下重命名您的GitHub 仓库 :

我们很高兴地宣布,从今天开始,在这种情况下,我们会自动将以前存储库位置的所有请求redirect到新家。 没有什么特别的,你必须做的。 只是重新命名,我们会照顾其余的。

作为一个特殊的好处, 我们也将服务于所有的Git克隆,获取和推送来自以前存储库位置的请求

这意味着您甚至不必在本地克隆的repo上使用git remote set-url (更改远程GitHub仓库的url)!
虽然Gabriel 在评论中指出, 官方的GitHub帮助页面强烈build议您这样做:

为了减less混淆,我们强烈build议更新任何现有的本地克隆以指向新的存储库URL。 你可以在命令行上使用git remote来做到这一点:

 git remote set-url origin new_url 

当然要小心:

当GitHub Pages网站在这个时候被重新命名的时候,它们不会被自动redirect。
重命名页面库将继续打破任何现有的链接到github.io域或自定义域上托pipe的内容。

另外, 用户仍然拥有名称空间 :如果他/她使用重命名的回购的旧名称创build的回购,那么redirect(对于所述重命名的回购)将停止工作。

我只是简单地重命名我自己:

  1. 去我的存储库上的github.com
  2. 打开设置选项卡
  3. 您可以看到的第一个设置是“存储库名称”
  4. 更改实际的名称,并将您想要提供给您的存储库的新名称
  5. 点击重命名

完成这一步之后,GitHub将确保您的联机存储库与本地文件夹名称匹配。 在这一步你的问题就解决了,除非你也想重命名你的本地文件夹。 然后手动执行,只需使用Github客户端的窗口再次将您的存储库重新引导到您的硬盘驱动器,Github将再次匹配它。 就这样! 很简单。

这个答案现在已经过时了! GitHub现在将转发到新的位置。 看到这个答案的细节。


这个警告的原因是因为#1 不能手动进行。

如果您是唯一一个正在处理和链接到存储库的人,那么您可以在本地存储库和网页中更改远程设备。

然而,首先在github上拥有一个公共仓库的原因是你可以让其他人克隆你的仓库并链接到你的github项目页面。


旧的url github.com/<username>/<repository>是由github拥有的。 当他们没有设置任何redirect到新的url,没有人可以。 所以,除了你所说的人之外,每个人都会受到伤害。

有多大的问题是由你自己决定的。 如果你在不同的服务器上有一个官方的项目页面,那么github的url可能不是什么大问题。 如果您在邮件列表和目录中使用github url公布了项目,那么您可能不应该更改回购站名称。


另一种更改仓库名称的方法是创build一个新的仓库,并在旧仓库中留下笔记(也就是在仓库中提交),以了解如何到达新的仓库。

如果你不想把你的新回购列为你旧回购的分支,你需要创build一个新的github账户。 您可以将您的其他帐户添加为这两个存储库的协作者。

值得注意的是,如果您分叉GitHub项目,然后重命名新生成的副本,则新名称将出现在父项目的成员networking图中。 互补关系也保存下来。 这应该解决与redirect相关的原始问题中的第一点相关的任何保留,也就是说,您仍然可以从那里到达这里。 我也是因为警告所暗示的不可撤销性而犹豫不决,所以希望这样可以挽救那些延迟的人。

  • 导航到您的存储库path。
  • 点击右下方的设置button。
  • 将旧的存储库名称replace为新名称。
  • 点击重命名button

此解决scheme适用于使用GitHub桌面的用户。

  1. 从GitHub.com上的设置重命名您的存储库

  2. 现在从桌面上点击同步。

完成。

  1. 从您的浏览器打开此url( https://github.com/

  2. 转到页面右端的存储库

  3. 打开要重命名的存储库的链接

  4. 单击设置(您将在导航栏中find)

  5. 在顶部你会发现一个叫做(Repository name)的地方,你可以在这里写新的名字

  6. 按重命名

简单的scheme:

1)打开你的项目url: https : //github.com/someuser/project-name
2)在顶部,除了项目名称,点击编辑