繁体   English   中英

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

[英]How do I rename a repository on GitHub?

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

  1. 我们不会从旧位置设置任何重定向
  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

origin是最常见的远程名称,但也可以称为其他名称。)

但是如果有很多人在做你的项目,他们都需要做上面的步骤,也许你甚至不知道如何联系他们告诉他们。 这就是#1 的内容。

进一步阅读:

脚注:

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

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

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

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

这意味着您甚至不必在本地克隆的存储库上git remote set-url (更改远程 GitHub 存储库的 URL)!
尽管Gabriel 在评论中指出官方 GitHub 帮助页面强烈建议您这样做:

为了减少混淆,我们强烈建议更新任何现有的本地克隆以指向新的存储库 URL。 您可以通过在命令行上使用 git remote 来执行此操作:

git remote set-url origin new_url

不过要注意:

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

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

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

  1. 在我的存储库上访问 github.com
  2. 打开设置选项卡
  3. 您可以看到的第一个设置是“存储库名称”
  4. 更改实际名称并将新名称放入您的存储库
  5. 点击“重命名”按钮

在此步骤之后,GitHub 将确保您的在线存储库与您的本地文件夹名称匹配。 在此步骤中,您的问题已解决,除非您还想重命名本地文件夹。 然后手动执行,只需使用 Windows 的 Github 客户端将您的存储库再次重新查找到您的硬盘驱动器中,Github 将再次匹配它。 就这样! 很简单。

我发现的最简单的方法

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

  2. 单击设置选项卡。

在此处输入图片说明

您可以看到的第一件事是您的回购名称,您可以对其进行编辑。

注意:- 如果您在本地克隆了 repo,请手动更改其文件夹名称,仅此而已。

我看到很多对我根本不准确/不完整的回复的积极反馈。

有两点需要注意:

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

如果你还没有在你的机器上克隆你的 repo,你只需要重命名 Github 存储库,然后继续克隆 repo,这样你就可以有一个本地副本。 为了重命名 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 ... ,但他们仍然鼓励您这样做以避免混淆。

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

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


出现此警告的原因是无法手动生成 #1。

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

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


旧网址github.com/<username>/<repository>归 github 所有。 当他们不设置任何重定向到新 url 时,没有人可以。 因此,除了你告诉的人之外,每个人的事情都会破裂。

问题有多大,取决于你。 如果你在不同的服务器上有一个官方的项目页面,那么 github url 可能不是什么大问题。 如果您在邮件列表和目录中使用 github url 宣传您的项目,那么您可能不应该更改 repo 名称。


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

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

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

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

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

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

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

完毕。

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

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

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

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

  5. 在顶部,您会找到一个名为(存储库名称)的框,您可以在其中写入新名称

  6. 按重命名

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

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

完成了,太容易了。

简单的解决方案:

1)打开你的项目网址: https : //github.com/someuser/project-name
2)在顶部的项目名称旁边,单击编辑

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM