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

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

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

有人知道如何手动完成#1和#2的步骤说明吗?或者我要在当地做什么?

207170 次浏览

如果你是这个项目的唯一工作人员,这不是一个大问题,因为你只需要做第2点。

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

那么你的项目的URL将是__abc0

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

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

但如果有很多人都在为你的项目工作,他们都需要执行上述步骤,也许你甚至不知道如何联系他们并告诉他们。这就是第一条。

进一步阅读:

脚注:

URL的确切格式取决于你使用的协议。

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

值得注意的是,如果你fork一个GitHub项目,然后重命名新生成的副本,新名称会出现在父项目的成员网络图中。互补关系也得以保留。这应该解决与原始问题中第一点有关的重定向相关的任何保留意见,也就是说,你仍然可以从那里到达这里。我也因为警告所暗示的不可撤销性而犹豫不决,所以希望这能拯救那些拖延的人。

GitHub现在将转发到新的位置。

.

.

.

这个警告存在的原因是因为#1 不能是手动制作的。

如果您是唯一一个在存储库上工作并链接到存储库的人,那么您可以在本地回购和web页面中更改远程。

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


旧的url github.com/<username>/<repository>归github所有。 当他们不设置任何重定向到新的url,没有人可以。

.

. 问题有多严重,取决于你自己。 如果你在其他服务器上有官方项目页面, 那么github的url可能不是什么大问题。 如果你在邮件列表和目录中使用github url宣传你的项目,

.

.

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

如果你不想让你的新回购被列为旧回购的分支,你需要创建一个新的github账户。 您可以将另一个帐户添加为两个存储库的合作者

重命名GitHub存储库如下:

  1. 登录到你的http://github.com帐户。
  2. 浏览到要重命名的存储库。
  3. 单击设置
  4. 库名称设置为新名称。
  5. 单击重命名

在此步骤之后,您的在线存储库将与您的本地文件夹名称匹配。

您可能还想重命名本地文件夹。手动执行此操作,并使用GitHub Windows客户端来查找您的存储库。重命名本地副本,它将再次匹配GitHub。

请注意,自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域或自定义域上托管的内容的任何现有链接

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

简单的解决方案:

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

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

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

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

  2. 现在在桌面上单击“同步”。

完成了。

  1. 从浏览器打开这个url (https://github.com/)

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

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

  4. 点击设置(你可以在导航栏中找到)

  5. 在顶部,您将发现一个名为(Repository name)的框,您可以在其中写入新名称

  6. 按重命名

这是我找到的最简单的方法

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

  2. 单击设置选项卡。

enter image description here

你首先看到的是你的回购名称,你可以编辑它。

注意:-如果你在本地克隆了repo,手动更改它的文件夹名,就这样。

我看到很多积极的反馈,但我认为这些反馈并不准确/完整。

有两件事需要记住:

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

如果你还没有在你的机器上克隆你的回购,你只需要重命名Github存储库,然后继续克隆回购,这样你就可以有一个本地副本。为了重命名Github回购,你只需要:

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

如果您已经有了项目的本地副本,除了遵循上面的步骤,你需要确保你的本地存储库(根文件夹)被正确地重命名,并且它指向正确的远程url:)链接。为了实现这一目标,请采取以下措施:

  1. 你可能想在你的回购中使用新的给定名称。要做到这一点,可以使用OS GUI(Finder, Windows资源管理器等)或控制台重命名本地文件夹:

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到分配的所有请求。这意味着你不需要使用$ git remote set-url ...,但他们仍然鼓励你这样做,以避免混淆。

希望有帮助。如果你有任何问题或帖子不够清楚,请告诉我。

我尝试在网页上重命名存储库:

  1. 点击右边页面的顶部,它是你的头像。
  2. 你可以看到setting的图标,点击它,然后你可以在Personal setting下面找到Repositories
  3. 点击Repositories,输入你的存储库目录,选择你想重命名的存储库。
  4. 然后你将进入所选择的存储库,你会发现setting的图标被添加到顶部行,只需单击它并输入新名称,然后单击Rename

好了,很简单。