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


317

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

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

是否有人有逐步说明如何手动完成#1和#2?还是我必须在当地做什么?


7
重命名Github仓库后,您无需再更新本地仓库。请参阅下面的答案
VonC

2
在Bitbucket上,转到存储库设置并更改名称,然后在本地计算机上的.git/config文件中也进行更改。
aliteralmind 2014年

1
打开仓库->设置->重命名
Kanagavelu Sugumar,2015年

Answers:


338

如果您是唯一从事此项目的人,那么这不是什么大问题,因为您只需要执行#2。

假设您的用户名是someuser,项目名为someproject

那么您的项目的URL将是1

git@github.com:someuser/someproject.git

如果您重命名项目,它将更改someprojectURL 的一部分,例如

git@github.com:someuser/newprojectname.git

(如果您的网址看起来不是这样,请参见脚注)。

当您执行push或时,您的Git工作副本将使用此URL pull

因此,在重命名项目后,您将不得不告诉工作副本新的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

(这origin是最常见的远程名称,但它可能被称为其他名称。)

但是,如果有很多人在处理您的项目,那么他们都需要执行上述步骤,也许您甚至不知道如何联系他们以告知他们。这就是第一件事。

进一步阅读:

脚注:

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


感谢您的回复!对于#1,我没有任何链接到该存储库的网页。所以我安全吗?对于#2,那里到底发生了什么?谢谢!
rabbid

我添加了有关应该帮助的遥控器的更多信息。
Mikel

1
我的输出git remote -v格式为git@github.com:someuser,您在此处输入的正斜杠对我不起作用。不过,这里的所有其他功能都可以。
Droogans 2012年

谢谢。固定。我仍然必须找到一种方法来提及https和git URL。
Mikel 2012年

3
这会影响回购的统计数字吗?
亚历克斯·纳斯波

132

请注意,自2013年5月以来(“ 存储库重定向在这里! ”),您可以重命名GitHub存储库而不会断开任何链接:

我们很高兴地宣布,从今天开始,在这种情况下,我们将自动将对以前存储库位置的所有请求重定向到他们的新家。没什么特别的。只需重命名,剩下的事情我们就会解决。

作为一项特殊的奖励,我们还将为所有来自先前存储库位置的Git复制,获取和推送请求提供服务

这意味着您甚至不必git remote set-url在本地克隆的存储库上(更改远程GitHub存储库的URL)!
虽然加布里埃尔指出在评论是,官方的GitHub帮助页面强烈建议你这样做:

为减少混乱,我们强烈建议更新所有现有的本地克隆以指向新的存储库URL。您可以通过在命令行上使用git remote来做到这一点:

git remote set-url origin new_url

但是要当心:

GitHub页面站点的存储库在此时被重命名时,不会自动重定向。
重命名 Pages存储库将继续中断指向该github.io域或自定义域上托管的内容的任何现有链接。

另外,用户仍然拥有名称空间:如果他/她使用重命名的存储库的旧名称创建的存储库,则该重定向(对于所述重命名的存储库)将停止工作。


4
这确实很有用,但起初在重新命名没有破坏我以前的推/拉活动时非常令人困惑。现在,我可以立即更改名称,并让其他所有人知道set-url在特定日期之前使用其更新存储库。在此日期之后,我将通过创建一个空白的带有“ I WARNED U”自述文件的空白仓库来粉碎旧的仓库。
cod3monk3y 2013年

请注意,即使你不必须使用git remote set-url更新现有的本地克隆到指向新存储库URL,它是强烈建议您这样做。
加百利

61

我只需简单地重命名自己的:

  1. 转到我的存储库上的github.com
  2. 打开设置标签
  3. 您可以看到的第一个设置是“存储库名称”
  4. 更改实际名称,然后将要提供的新名称放入存储库
  5. 单击重命名

完成此步骤后,GitHub将确保您的在线存储库与您的本地文件夹名称匹配。在此步骤中,除非您也想重命名本地文件夹,否则问题将得到解决。然后手动进行操作,只需使用Windows的Github客户端将您的存储库再次重新引用到硬盘驱动器,Github将再次对其进行匹配。就这样!很简单。


1
令人惊讶的是,不仅这里的投票得到了高度评​​价,而且github.com上的帮助页面都通过设置选项卡取消了github.com上的重命名步骤。
user3673

16

我找到的最简单的方法

  1. 转到您的回购链接,例如: https://github.com/someuser/someRepo.git

  2. 单击设置选项卡。

在此处输入图片说明

您首先看到的是您的回购名称,您可以对其进行编辑。

注意:-如果您在本地上克隆了仓库,则手动更改其文件夹名称即可。


10

我发现很多积极的反馈意见对我根本没有准确/完整的答复提供了帮助。

有两件事要牢记:

  • 远程仓库
  • 存储库的本地副本

如果尚未在计算机中克隆存储库,则只需重命名Github存储库,然后继续克隆存储库即可拥有本地副本。为了重命名Github存储库,您只需要:

  1. 转到存储库站点(即https://github.com/userX/repositoryZ)。
  2. 在导航栏中,您将看到一个名为“设置”的选项卡。点击它。
  3. 只需用所需的名称编辑当前存储库名称,然后按“重命名”。
  4. 照常克隆存储库(即git clone https://github.com/userX/repositoryU)。

如果您已经拥有该项目的本地副本,则除了执行上述步骤外,还需要确保已正确重命名本地存储库(根文件夹),并且它指向正确的远程URL :)链接。为此,请执行以下操作:

  1. 您可能要为仓库使用新的给定名称。为此,请使用OS GUI(Finder,Windows Explorer等)或控制台重命名本地文件夹:

mv -R current-repo-name new-repo-name

  1. 更改远程URL。在文件夹的根目录中,使用以下命令:

$ git remote set-url origin https://github.com/userX/repositoryU

要么

$ git remote set-url origin git@github.com:userX/repositoryU.git

不过,第二步不是强制性的。Github不久前宣布,他们会将所有请求从以前的存储库URL重定向到分配的URL。这意味着您不需要使用$ git remote set-url ...,但是它们仍然鼓励您这样做以避免混淆。

希望能有所帮助。如果您有任何疑问或帖子不够清楚,请告诉我。


9

现在这个答案已经过时了!GitHub现在将转发到新位置。有关详细信息,请参见此答案


出现此警告的原因是,无法手动设置#1 。

如果您是唯一在工作并链接到存储库的人,那么可以在本地存储库和网页中更改遥控器。

但是,首先在github上建立公共存储库的原因是,您可以让其他人克隆存储库并链接到github项目页面。


旧网址github.com/<username>/<repository>归github所有。如果他们没有设置任何重定向到新URL的人,则没有人可以。因此,除了您要说的人以外,其他所有人都会遇到麻烦。

问题的严重程度取决于您。如果您在其他服务器上有一个正式的项目页面,那么github url可能不是什么大问题。如果您在邮件列表和目录中使用github url广告了您的项目,那么您可能不应该更改回购名称。


更改存储库名称的另一种方法是创建一个新的存储库,并在旧存储库中留下有关如何到达新存储库的注释(也作为存储库中的提交)。

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


6

值得注意的是,如果您分叉GitHub项目,然后重命名新产生的副本,则新名称将出现在父项目的成员网络图中。互补关系也得以保留。这应该解决与重定向相关的原始问题中与第一点相关的所有保留,即可以说,您仍然可以从此处到达。我也很犹豫,因为警告暗示了不可撤销性,因此希望这可以节省其他延迟的人。


您不能在github上创建自己的项目。因此,您必须使用另一个帐户,但这将起作用。
JonnyJD 2012年

我向一个组织叉了钱,所以我想这与使用另一个帐户相同。我确定你是正确的。
尼尔·贝斯特

您可以创建一个新的空存储库。克隆旧的存储库。添加引用您的新存储库的远程。然后将所需的分支推送到新的存储库(例如,主数据库)。我想那将是一个局部的分支。
Darrel Lee

6
  • 导航到您的存储库路径。
  • 单击右侧窗格中的设置按钮。
  • 将旧的存储库名称替换为新名称。
  • 单击重命名按钮

3

该解决方案适用于使用GitHub桌面的用户。

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

  2. 现在,从您的桌面上单击同步。

做完了


奇怪的是,应用程序本身找不到这种基本功能
svarog

1
  1. 从浏览器打开此URL(https://github.com/

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

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

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

  5. 在顶部,您将找到一个名为Called(存储库名称)的框,在其中输入新名称

  6. 按重命名


0

我试图重命名网页上的存储库:

  1. 单击右侧页面顶部的它是您的化身。
  2. 您可以查看的图标setting,单击它,然后在Repositories下方找到Personal setting
  3. 单击,Repositories然后输入存储库目录,选择要重命名的存储库。
  4. 然后,您将输入所选的存储库,您将发现图标setting已添加到顶行,只需单击它并输入新名称,然后单击Rename

完成,很容易。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.