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



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




任何人都可以执行以下操作:有关如何手动完成#1和#2的分步说明?还是我必须在本地做什么?

评论

重命名Github仓库后,您无需再更新本地仓库。请参阅下面的答案。

在Bitbucket上,转到存储库设置并更改名称,然后在本地计算机上的.git / config文件中也进行更改。

打开仓库->设置->重命名

#1 楼

如果您是唯一在项目上工作的人,那么这不是什么大问题,因为您只需要执行#2。

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

,那么您项目的URL将为1

git@github.com:someuser/someproject.git


如果您重命名项目,它将更改URL的someproject部分,例如

git@github.com:someuser/newprojectname.git


(如果您的URL看起来不是这样,请参见脚注)。

当您执行pushpull时,您的Git工作副本将使用此URL。 br />
因此,在重命名项目后,您将必须告诉工作副本新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的意义。

进一步阅读:


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

脚注:

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


SSH = git@github.com:someuser / someproject.git
HTTPS = https://someuser@github.com/someuser/someproject.git

GIT = git://github.com/ someuser / someproject.git


评论


感谢您的回复!对于#1,我没有任何链接到该存储库的网页。所以我安全吗?对于#2,那里到底发生了什么?谢谢!

–拉比
2011年4月22日,下午2:10

我添加了有关应该有用的遥控器的更多信息。

– Mikel
2011年4月22日在2:49

我的git remote -v输出格式为git@github.com:someuser,您在此处输入的正斜杠对我不起作用。不过,这里的其他所有内容都可以。

– Droogans
2012年10月10日14:48



谢谢。固定。我仍然必须找到一种方法来提及https和git URL。

– Mikel
2012年10月10日14:52

这样会影响回购交易的统计数据吗?

– Alex Naspo
2013年1月11日在21:24

#2 楼

请注意,自2013年5月(“此处为存储库重定向!”)以来,您可以重命名GitHub存储库而无需断开任何链接:

我们很高兴地宣布,从今天开始,我们将自动重定向所有在这种情况下,要求将以前的存储库位置移到新的家中。没什么特别的。只需重命名即可,剩下的工作将由我们来处理。
作为一项特殊的奖励,我们还将服务于以前存储库位置中的所有Git克隆,获取和推送请求。这意味着您甚至不必在本地克隆的存储库上进行git remote set-url(更改远程GitHub存储库的URL)!
尽管Gabriel在评论中指出,官方GitHub帮助页面强烈建议您这样做:

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

git remote set-url origin new_url

注意:这次。
重命名Pages存储库将继续断开指向github.io域或自定义域上托管的内容的任何现有链接。

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

评论


这确实很有用,但起初在重命名没有破坏我以前的推/拉活动时非常令人困惑。现在,我可以立即更改名称,并让其他所有人知道在特定日期之前使用set-url更新其存储库。在那之后,我将通过创建一个空白的带有“ I WARNED U”自述文件的空白仓库来粉碎旧的仓库。

– cod3monk3y
2013年9月4日14:38在

请注意,即使您不必使用git remote set-url来更新现有的本地克隆以指向新的存储库URL,也强烈建议您这样做。

–加百列
2014年9月5日在2:31

#3 楼

我只需通过以下操作即可重命名自己的名字:

转到我的存储库上的github.com
打开“设置”选项卡
,您可以看到的第一个设置是“存储库名称”
更改实际名称,然后将要提供的新名称添加到存储库中。
单击“重命名”按钮


。完成此步骤后,GitHub将确保联机存储库与您的本地文件夹名称匹配。
在此步骤中,除非您也想重命名本地文件夹,否则问题就得到解决。然后手动进行操作,只需使用Windows的Github客户端将您的存储库再次重新引用到硬盘中,Github将再次对其进行匹配。
就这么简单!
非常简单。

评论


令人惊讶的是,不仅这里的投票得到了高度评​​价,而且github.com上的帮助页面都通过设置选项卡取消了github.com重命名的步骤。

–user3673
19年7月8日在14:56

最好和最简单的答案

– pmiranda
20-11-15在20:56

#4 楼

我找到的最简单方法


例如,转到您的回购链接:-https://github.com/someuser/someRepo.git
单击“设置”选项卡。



首先看到的是您的存储库名称,您可以对其进行编辑。

注意:-如果已在本地上克隆存储库,则只需手动更改其文件夹名称即可。
/>

评论


相同的答案

– pmiranda
20 Nov 15 '20:57

#5 楼

我收到了很多对反馈的积极反馈,但我根本找不到准确/完整的反馈。

有两点需要牢记:


远程仓库
仓库的本地副本

如果尚未在计算机中克隆存储库,则只需重命名Github存储库,然后继续克隆存储库即可本地副本。为了重命名Github存储库,您只需要:


转到存储库站点(即https://github.com/userX/repositoryZ)。
在在导航栏中,您将看到一个名为“设置”的标签。单击它。
只需用所需的名称编辑当前存储库名称,然后按“重命名”。
照常克隆存储库(即git clone https://github.com/userX/repositoryU)。

如果您已经有该项目的本地副本,则除了执行上述步骤外,还需要确保已正确重命名本地存储库(根文件夹),并且它指向正确的远程url: )链接。为此,请执行以下操作:


您可能想为仓库使用新的给定名称。为此,请使用OS GUI(Finder,Windows Explorer等)或控制台重命名本地文件夹:

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 ...,但是它们仍然鼓励您这样做以避免混淆。

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

#6 楼

这个答案现在已经过时了! GitHub现在会转发到新位置。
有关详细信息,请参见此答案。 >
如果您是唯一一个正在处理并链接到存储库的人,那么可以在本地存储库和网页中更改遥控器。首先,github上的一个公共存储库是您可以让其他人克隆存储库并链接到github项目页面。 >如果他们没有设置任何重定向到新url的路径,则没人可以。
所以,除了您要说的人之外,所有人都会遇到麻烦。

问题有多大,不过,由您自己决定。
如果您在其他服务器上有正式的项目页面,
那么github url可能就没什么问题了。邮件列表和目录中的url,
然后您可能不应该更改存储库名称。


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

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

#7 楼

值得注意的是,如果您分叉GitHub项目,然后重命名新产生的副本,则新名称将出现在父项目的成员网络图中。互补关系也得以保留。这应该解决与重定向相关的原始问题中第一点的所有保留,也就是说,您仍然可以从此处到达。我也很犹豫,因为警告暗示了不可撤销性,因此希望这可以节省其他延迟的人。

评论


您不能在github上创建自己的项目。因此,您必须使用另一个帐户,但这将起作用。

–JonnyJD
2012-12-19 14:54

我向一个组织进行了分叉,所以我想这与使用另一个帐户相同。我确定你是正确的。

– Neil Best
2012年12月20日下午16:01

您可以创建一个新的空存储库。克隆旧的存储库。添加引用您的新存储库的远程。然后将您想要的分支推送到新的存储库(例如master)。我想那将是一个局部的分支。

–李达瑞(Darrel Lee)
16-4-15的22:00

#8 楼


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


#9 楼

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


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

完成。

评论


奇怪的是,应用程序本身找不到这种基本功能

– svarog
16年5月6日在18:20

#10 楼


从浏览器打开此URL(https://github.com/)
转到页面右端的存储库
打开要重命名的存储库的链接
/>单击“设置”(您会在导航栏中找到)
在顶部会找到一个名为(存储库名称)的框,在其中输入新名称。

#11 楼

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


单击右页顶部的,它是您的头像。
您可以查看setting的图标,单击它,然后在Repositories下找到Personal setting
单击Repositories并输入存储库目录,然后选择要重命名的存储库。
然后,您将输入选择的存储库,并且您会发现setting的图标已添加到顶行,只需单击它并输入新名称,然后单击Rename即可。

完成,非常容易。

#12 楼

简单的解决方案:

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

评论


没有这样的按钮

– Douglaslps
2015年6月12日14:21