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

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

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


当前回答

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

从GitHub.com上的设置重命名您的存储库 现在在桌面上单击“同步”。

完成了。

其他回答

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

有两件事需要记住:

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

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

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

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

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

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

更改远程url。从文件夹的根目录,使用以下命令:

$ git远程设置url来源https://github.com/userX/repositoryU

or

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

但是,第二步并不是强制性的。Github不久前宣布,他们将重定向所有来自以前存储库url的请求到指定的url。这意味着你不需要使用$ git remote set-url…,但他们仍然鼓励你这样做,以避免混淆。

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

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

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

那么项目的URL将是1

git@github.com:someuser/someproject.git

如果你重命名你的项目,它将改变URL的someproject部分,例如。

git@github.com:someuser/newprojectname.git

(如果您的URL不像这样,请参阅脚注)。

当您执行推或拉操作时,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是最常见的远程名称,但也可能称为其他名称。)

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

进一步阅读:

GitHub -使用遥控器 Git参考-遥控器 Git书籍分布式工作流

脚注:

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

一些东西/一些项目 HTTPS = https://someuser@github.com/someuser/someproject.git //github.com/someuser/someproject.git

简单的解决方案:

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

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

从GitHub.com上的设置重命名您的存储库 现在在桌面上单击“同步”。

完成了。

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