我想在GitHub上重命名我的一个存储库,但是当一个大的红色警告说:
- 我们不会从旧位置设置任何重定向
- 您将需要更新本地存储库以指向新位置
- 重命名可能需要几分钟才能完成
是否有人有逐步说明如何手动完成#1和#2?还是我必须在当地做什么?
.git/config
文件中也进行更改。
我想在GitHub上重命名我的一个存储库,但是当一个大的红色警告说:
- 我们不会从旧位置设置任何重定向
- 您将需要更新本地存储库以指向新位置
- 重命名可能需要几分钟才能完成
是否有人有逐步说明如何手动完成#1和#2?还是我必须在当地做什么?
.git/config
文件中也进行更改。
Answers:
如果您是唯一从事此项目的人,那么这不是什么大问题,因为您只需要执行#2。
假设您的用户名是someuser
,项目名为someproject
。
那么您的项目的URL将是1
git@github.com:someuser/someproject.git
如果您重命名项目,它将更改someproject
URL 的一部分,例如
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的确切格式取决于您使用的协议,例如
git remote -v
格式为git@github.com:someuser
,您在此处输入的正斜杠对我不起作用。不过,这里的所有其他功能都可以。
请注意,自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
域或自定义域上托管的内容的任何现有链接。
另外,用户仍然拥有名称空间:如果他/她使用重命名的存储库的旧名称创建新的存储库,则该重定向(对于所述重命名的存储库)将停止工作。
set-url
在特定日期之前使用其更新存储库。在此日期之后,我将通过创建一个空白的带有“ I WARNED U”自述文件的空白仓库来粉碎旧的仓库。
我只需简单地重命名自己的:
完成此步骤后,GitHub将确保您的在线存储库与您的本地文件夹名称匹配。在此步骤中,除非您也想重命名本地文件夹,否则问题将得到解决。然后手动进行操作,只需使用Windows的Github客户端将您的存储库再次重新引用到硬盘驱动器,Github将再次对其进行匹配。就这样!很简单。
我找到的最简单的方法
转到您的回购链接,例如: https://github.com/someuser/someRepo.git
单击设置选项卡。
您首先看到的是您的回购名称,您可以对其进行编辑。
注意:-如果您在本地上克隆了仓库,则手动更改其文件夹名称即可。
我发现很多积极的反馈意见对我根本没有准确/完整的答复提供了帮助。
有两件事要牢记:
如果尚未在计算机中克隆存储库,则只需重命名Github存储库,然后继续克隆存储库即可拥有本地副本。为了重命名Github存储库,您只需要:
如果您已经拥有该项目的本地副本,则除了执行上述步骤外,还需要确保已正确重命名本地存储库(根文件夹),并且它指向正确的远程URL :)链接。为此,请执行以下操作:
mv -R current-repo-name new-repo-name
$ 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广告了您的项目,那么您可能不应该更改回购名称。
更改存储库名称的另一种方法是创建一个新的存储库,并在旧存储库中留下有关如何到达新存储库的注释(也作为存储库中的提交)。
如果您不想将新存储库列为旧存储库的分支,则需要创建一个新的github帐户。您可以将其他帐户添加为两个存储库的协作者。
值得注意的是,如果您分叉GitHub项目,然后重命名新产生的副本,则新名称将出现在父项目的成员网络图中。互补关系也得以保留。这应该解决与重定向相关的原始问题中与第一点相关的所有保留,即可以说,您仍然可以从此处到达。我也很犹豫,因为警告暗示了不可撤销性,因此希望这可以节省其他延迟的人。
从浏览器打开此URL(https://github.com/)
转到页面右端的存储库
打开要重命名的存储库的链接
单击设置(您将在导航栏中找到)
在顶部,您将找到一个名为Called(存储库名称)的框,在其中输入新名称
按重命名
1)打开项目URL:https : //github.com/someuser/project-name
2)在顶部,在项目名称旁边,单击EDIT。