我想在GitHub上重命名我的一个存储库,但是当一个大红色警告说:
时我感到很害怕
- 我们不会设置旧位置的重定向
- 您需要更新本地存储库以指向新位置
- 重命名可能需要几分钟才能完成
醇>
有没有人有关于如何手动完成#1和#2的分步说明?或者我必须在本地做什么?
答案 0 :(得分:315)
如果你是唯一一个从事该项目的人,这不是一个大问题,因为你只需做#2。
假设您的用户名为someuser
,您的项目名为someproject
。
然后你的项目的URL将是 1
git@github.com:someuser/someproject.git
如果您重命名项目,它将更改网址的someproject
部分,例如
git@github.com:someuser/newprojectname.git
(如果您的网址不是这样,请参阅脚注)。
当您执行git
或push
时,pull
的工作副本会使用此网址。
因此,在重命名项目后,您必须告诉工作副本新的URL。
您可以分两步完成:
首先,cd到你的本地git目录,找出哪个远程名称引用该URL
$ git remote -v
origin git@github.com:someuser/someproject.git
然后,设置新网址
$ 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网址的确切格式取决于您使用的协议,例如
答案 1 :(得分:122)
请注意,自2013年5月(“Repository redirects are here!”)以来,您可以重命名GitHub仓库,而不会破坏任何链接:
我们很高兴地宣布,从今天开始,在这些情况下,我们会自动将以前存储库位置的所有请求重定向到新家。你不需要做什么特别的事。只需重新命名,我们将照顾其余部分。
作为特殊奖励,我们还将为之前存储库位置的所有Git克隆,获取和推送请求提供服务。
这意味着您甚至不必在本地克隆回购邮件上git remote set-url
(更改远程GitHub仓库的URL)!
虽然Gabriel注意in the comments official GitHub help page强烈建议您这样做:
为减少混淆,我们强烈建议您更新任何现有的本地克隆以指向新的存储库URL。您可以在命令行上使用git remote来执行此操作:
git remote set-url origin new_url
请注意:
GitHub Pages 网站在此时重命名其存储库时不会自动重定向。
重命名页面存储库将继续破坏github.io
域或自定义域上托管的内容的任何现有链接。
另外,用户仍然拥有名称空间:如果他/她使用重命名的repo的旧名称创建 new repo,那么重定向(用于所述重命名的repo) )将停止工作。
答案 2 :(得分:55)
我只是简单地重命名自己:
完成此步骤后,GitHub将确保您的在线存储库与您的本地文件夹名称匹配。 此步骤解决了您的问题,除非您还想重命名本地文件夹。然后手动执行,只需使用Github客户端再次将您的存储库重新刷新到您的硬盘驱动器中,Github将再次匹配它。 就这样! 非常简单。
答案 3 :(得分:14)
我找到的最简单方法
答案 4 :(得分:7)
我收到了很多对我根本没有准确/完整答案的积极反馈。
有两点需要牢记:
如果尚未在计算机中克隆存储库,则只需重命名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的请求重定向到已分配的。这意味着您不需要使用$ git remote set-url ...
,但是他们仍然鼓励您这样做以避免混淆。
希望有帮助。如果您有任何疑问或帖子不够清楚,请告诉我。
答案 5 :(得分:6)
值得注意的是,如果您分叉GitHub项目然后重命名新生成的副本,则新名称将显示在父项目的成员网络图中。互补关系也得以保留。这应该解决与原始问题中与重定向相关的第一点相关的任何保留,即你仍然可以从那里到达这里,可以这么说。我也是犹豫不决,因为警告暗示了不可撤销性,所以希望这会挽救其他人的延迟。
答案 6 :(得分:6)
答案 7 :(得分:3)
此解决方案适用于使用GitHub桌面的用户。
从GitHub.com上的设置重命名您的存储库
现在从您的桌面点击同步。
完成。
答案 8 :(得分:1)
从您的浏览器中打开此网址(https://github.com/)
转到页面右端的存储库
打开要重命名的存储库链接
点击设置(您可以在导航栏中找到)
在顶部,您会找到一个名为Called(存储库名称)的框,您可以在其中写下新名称
按重命名
答案 9 :(得分:0)
我试图重命名网页上的存储库:
setting
的图标,单击它,然后在Repositories
下找到Personal setting
。 Repositories
并输入存储库目录,然后选择要重命名的存储库。 setting
图标已添加到第一行,只需单击它并输入新名称,然后单击Rename
。 完成,非常容易。
答案 10 :(得分:0)
如果您是组织所有者或管理员,则可以重命名存储库 具有存储库的管理员权限。
Settings
图标。Repository Name
标题下,输入存储库的新名称。Rename
。完成了!有关更多信息,请source
答案 11 :(得分:-4)
1)打开您的项目网址:https://github.com/someuser/project-name
2)在顶部,除项目名称外,单击EDIT