我想重命名我在GitHub上的一个存储库,但当我看到一个大大的红色警告时说:
我们将不设置任何重定向从旧的位置 您需要更新本地存储库以指向新的位置 重命名可能需要几分钟才能完成
有人知道如何手动完成#1和#2的步骤说明吗?或者我要在当地做什么?
我想重命名我在GitHub上的一个存储库,但当我看到一个大大的红色警告时说:
我们将不设置任何重定向从旧的位置 您需要更新本地存储库以指向新的位置 重命名可能需要几分钟才能完成
有人知道如何手动完成#1和#2的步骤说明吗?或者我要在当地做什么?
如果你是这个项目的唯一工作人员,这不是一个大问题,因为你只需要做第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
It is worth noting that if you fork a GitHub project and then rename the newly spawned copy, the new name appears in the members network graph of the parent project. The complementary relationship is preserved as well. This should address any reservations associated with the first point in the original question related to redirects, i.e. you can still get here from there, so to speak. I, too, was hesitant because of the irrevocability implied by the warning, so hopefully this will save others that delay.
这个答案现在已经过时了!GitHub现在将转发到新的位置。 详情请看这个答案。
之所以有这个警告是因为#1不能手动创建。
如果您是唯一一个在存储库上工作并链接到存储库的人,那么您可以在本地回购和web页面中更改远程。
然而,首先在github上有一个公共存储库的原因是,你可以让其他人克隆你的存储库并链接到你的github项目页面。
旧的url github.com/<用户名>/<存储库>归github所有。 当他们不设置任何重定向到新的url,没有人可以。 所以除了你要告诉的人以外,每个人的事情都会破裂。
这个问题有多严重,取决于你自己。 如果你在其他服务器上有官方项目页面, 那么github的url可能不是什么大问题。 如果你在邮件列表和目录中使用github url宣传你的项目, 那么您可能不应该更改回购名称。
更改repo名称的另一种方法是创建一个新的存储库,并在旧的存储库中(也作为repo中的提交)留下关于如何到达新repo的说明。
如果你不想让你的新回购被列为旧回购的一个分支,你需要创建一个新的github账户。 您可以将其他帐户添加为两个存储库的合作者。
重命名GitHub存储库如下:
登录您的http://github.com帐户。 浏览到要重命名的存储库。 单击设置。 “Repository Name”设置为修改后的名称。 点击重命名。
在此步骤之后,您的在线存储库将与您的本地文件夹名称匹配。
您可能还想重命名本地文件夹。手动执行此操作,并使用GitHub Windows客户端来查找您的存储库。重命名本地副本,它将再次匹配GitHub。
请注意,自2013年5月以来(“仓库重定向在这里!”),你可以重命名你的GitHub回购而不破坏任何链接:
我们很高兴地宣布,从今天开始,在这种情况下,我们将自动将对以前存储库位置的所有请求重定向到它们的新家。你不需要做什么特别的事情。只要重新命名就行了,剩下的我们会处理。 作为一个特别的奖励,我们还将为所有Git克隆、获取和推送请求提供服务,这些请求来自以前的存储库位置。
这意味着你甚至不需要git远程set-url(改变你的远程GitHub回购的url)在你的本地克隆回购! 尽管Gabriel在评论中指出,GitHub官方帮助页面强烈建议您这样做:
为了减少混乱,我们强烈建议更新任何现有的本地克隆以指向新的存储库URL。你可以通过在命令行上使用git remote来做到这一点:
git remote set-url origin new_url
不过要注意:
GitHub Pages站点在其存储库重命名时不会自动重定向。 重命名Pages存储库将继续破坏到github上托管的内容的任何现有链接。IO域或自定义域。
另外,用户仍然拥有命名空间:如果他/她使用重命名的repo的旧名称创建了一个新的repo,重定向(对于所说的重命名的repo)将停止工作。
简单的解决方案:
1)打开您的项目url: https://github.com/someuser/project-name 2)在顶部,除了项目名称,点击编辑
从浏览器打开这个url (https://github.com/) 转到页面右端的存储库 打开要重命名的存储库的链接 点击设置(你可以在导航栏中找到) 在顶部,您将发现一个名为(Repository name)的框,您可以在其中写入新名称 按重命名
这是我找到的最简单的方法
去你的回购链接,例如:https://github.com/someuser/someRepo.git 单击设置选项卡。
你首先看到的是你的回购名称,你可以编辑它。
注意:-如果你在本地克隆了repo,手动更改它的文件夹名,就这样。
我看到很多积极的反馈,但我认为这些反馈并不准确/完整。
有两件事需要记住:
远程存储库 存储库的本地副本
如果你还没有在你的机器上克隆你的回购,你只需要重命名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…,但他们仍然鼓励你这样做,以避免混淆。
希望有帮助。如果你有任何问题或帖子不够清楚,请告诉我。
我尝试在网页上重命名存储库:
点击右边页面的顶部,它是你的头像。 你可以看到设置图标,点击它,然后你可以在个人设置下找到存储库。 单击存储库,输入存储库目录,选择要重命名的存储库。 然后你会进入选择的存储库,你会发现设置的图标被添加到顶部行,只需点击它,输入新的名称,然后点击重命名。
好了,很简单。