如何重命名git存储库?

Yan*_*Xie 377 git

git mv重命名存储库中的文件或目录.如何重命名git存储库本身?

Ale*_*own 554

关于重命名git存储库的含义有各种可能的解释:显示的名称,存储库目录或远程存储库名称.每个都需要不同的步骤来重命名.

显示的名称

重命名显示的名称(例如,显示gitweb):

  1. 编辑.git/description以包含存储库的名称.
  2. 保存文件.

存储库目录

Git没有引用包含存储库的目录的名称git clone master child,因此我们可以简单地重命名它:

  1. 打开命令提示符(或文件管理器窗口).
  2. 切换到包含存储库目录的目录(即,不要进入存储库目录本身).
  3. 重命名目录(例如,使用mv命令行或git@github.com:User/project-new.gitGUI中的热键).

远程存储库

重命名远程存储库,如下所示:

  1. 转到远程主机(例如,https://github.com/User/project).
  2. 按照主机的说明重命名项目(主机与主机不同,但通常设置是一个很好的起点).
  3. 转到本地存储库目录(即,打开命令提示符并切换到存储库的目录).
  4. 确定新URL(例如gitweb)
  5. 使用git设置新URL:

    git remote set-url origin git@github.com:User/project-new.git
    
    Run Code Online (Sandbox Code Playgroud)

  • 请注意,如果使用子模块,在第二种情况下断言"git不引用此目录名称"是错误的:git使用绝对路径来引用子模块,因此重命名存储库目录将破坏子模块.请参阅/sf/ask/710090461/ (11认同)
  • 人们一直在提及 .git/description,但没有提及您实际在其中进行了哪些更改以重命名 repo (5认同)
  • 在第二种情况下,已经克隆存储库的人会发生什么? (3认同)
  • 没什么不好.它们保留原始名称,但它们的遥控器现在是错误的:如果他们想要提取更新,则需要连接到新名称.如果您和他们同步或中央存储库,它将保留原始名称,一切都将继续工作 (3认同)
  • 我已经多次依赖这个笔记。这是正确的,而且很好。但是,当我收到消息“致命:无法从远程存储库读取”时,我总是不得不执行调试步骤。--- 解决办法是我靠公钥访问GitHub。它嵌入在主机名中。--- 而不是“git@github.com:User/project-new.git”,我需要使用“git@HOSTNAME:User/project-new.git”。HOSTNAME 是我的 .ssh/config 文件中的引用。---(现在,如果我记得下次阅读这篇笔记。荣耀在等着。) (3认同)

Tob*_*obu 22

git repo没有名称.如果需要,您可以重命名包含工作树的目录.

  • 你说git repo没有名字,但那不是真的.如果您使用子模块并只重命名该文件夹,您将从git中获得错误.请参阅http://stackoverflow.com/questions/9878860/how-can-i-rename-a-git-repository-with-submodules?lq=1 (16认同)
  • 是的,git repo有一个名字.重命名后出现此错误:`$ git status fatal:不是git存储库:C:/xxx/.git/xxx致命:git status --porcelain failed` (6认同)
  • 好的,git存储库中的子模块路径很重要.这是真的,但与这个特定问题无关. (6认同)
  • 当然,存储库有一个名称.请参阅下文如何更改它. (4认同)

小智 16

重命名PRJ0.gitPROJ1.git,然后编辑位于.git/config项目文件中的URL变量.


mho*_*815 13

在新的存储库中,例如在a之后$ git init,.git目录将包含文件.git/description

看起来像这样:

Unnamed repository; edit this file 'description' to name the repository.

在本地存储库上编辑它不会在遥控器上更改它.

  • 亚历克斯·布朗的回答包括了你的。 (2认同)

Lig*_*tCC 12

用 Github 作为你的遥控器

在 Github 上重命名远程仓库

关于远程存储库,如果您使用 Github 或 Github Enterprise 作为远程保存/分发存储库的服务器位置,您可以直接在存储库设置中重命名存储库。

从主 repo 页面,设置选项卡在右侧,repo 名称是页面上的第一项:

在此处输入图片说明

Github 会将请求重定向到新的 URL

当你重命名一个 repo 时,Github 中一个非常好的功能是Github 将保存旧的 repo 名称和所有相关的 URL,并将流量重定向到新的 URL。由于您的用户名/组织和存储库名称是 URL 的一部分,重命名将更改 URL。

由于 Github 保存了旧的 repo 名称并将请求重定向到新的 URL,如果有人在尝试访问问题、wiki、stars 或关注者时使用基于旧 repo 名称的链接,他们仍然会到达 Github 网站上的新位置。Github上也重定向较低级别Git命令喜欢git clonegit fetch

更多信息在Github Help for Renameing a Repo

重命名本地仓库名称

正如其他人所提到的,您的存储库的本地“名称”通常被认为是根文件夹/目录名称,您可以更改、移动或复制文件夹到任何位置,它根本不会影响存储库。

Git 旨在只关心根文件夹内的文件。


Dro*_*ans 11

如果您的意思是重命名您的存储库,请转到您的存储库并单击"admin",然后重命名.

一旦你看到红色方框警告你有关天空坠落和其他事情,请阅读这个问题.

  • 可能会帮助其他人注意这是一个特定于Github的建议,并且一般不适用于Git. (12认同)

小智 9

要重命名git-hub的任何存储库:

  1. 转到要重命名的特定存储库
  2. 导航到设置选项卡
  3. 在存储库名称部分中,键入要放置的新名称,然后单击重命名


Par*_*son 8

为我工作.


小智 8

“重命名 git 存储库本身”的含义并不明确,但对此的一种解释是更改远程 git 存储库的 URL。

git remote set-url origin url
Run Code Online (Sandbox Code Playgroud)

https://www.commands.dev/workflows/change_url_of_remote_git_repository

我为 ^ 页添加了书签,它告诉我命令并允许我使用参数。超级有用,海事组织。


avi*_*rat 7

如果您使用的是GitLab或GitHub,则可以以图形方式修改这些文件。

使用GitLab

转到项目设置。在这里,您可以修改项目的名称,最重要的是,您可以重命名您的存储库(那是您开始进入危险部分的时候)。

完成此操作后,必须使用以下命令更新本地客户端配置

git remote set-url origin sshuser@gitlab-url:GROUP/new-project-name.git
Run Code Online (Sandbox Code Playgroud)


Dan*_*OMS 6

如果您在Eclipse中并安装了Egit,则可以通过执行以下操作重命名包含项目的存储库:

1)在Eclipse中:关闭存储库中的所有项目.

2)在文件系统中:找到包含存储库的目录/文件夹.

3)在文件系统中:重命名包含存储库的目录/文件夹.

4)在文件系统中:打开包含存储库的目录/文件夹,并重命名要重命名的任何项目的项目目录/文件夹,以使其与项目的新名称匹配.(这不是必需的,但它提供了Eclipse中的项目名称与存储库中的项目目录/文件夹之间的一致性.)

5)在Eclipse中:删除存储库中的所有项目,但一定不要选中"从文件系统中删除内容"复选框.(项目不应再包含文件系统内容的正确位置,因此在任何情况下都无法删除数据,但最好是安全而不是遗憾.)

6)在Eclipse中:从菜单中选择File | Import ...选项.

7)在Eclipse中:在对话框中打开'Git'文件夹,选择'Projects from Git'并单击'Next'.

8)在Eclipse中:在对话框中选择"Local"并单击"Next".

9)在Eclipse中:在对话框中单击"添加..."按钮.

10)在Eclipse中:在对话框中确保选中存储库旁边的复选框,然后单击"完成".

11)在Eclipse中:在对话框中选择存储库,然后单击"下一步".

12)在Eclipse中:在对话框中选择"导入现有项目"单选按钮,选择"工作目录"并单击"下一步".

13)在Eclipse中:在对话框中选中要处理的项目旁边的复选框,然后单击"完成".

14)在Eclipse中:如果需要,重命名存储库中的任何项目.(为了使Eclipse和文件系统之间的一致性,它们与存储库目录/文件夹中的项目目录/文件夹具有相同的名称.)


Ujj*_*ngh 6

Git本身没有规定指定存储库名称。根目录的名称是与存储库名称有关的唯一事实来源。

.git/description虽然仅由某些应用程序,如使用的GitWeb


Ext*_*me 5

对于亚马逊 AWS codecommit用户,

aws codecommit update-repository-name --old-name MyDemoRepo --new-name MyRenamedDemoRepo
Run Code Online (Sandbox Code Playgroud)

参考:这里


ASH*_*ASH 5

主要改名就在这里(img 1),还要改readme.md(img 2)

在此处输入图片说明

在此处输入图片说明

  • 问题是关于 git 而不是 github。 (7认同)

归档时间:

查看次数:

297685 次

最近记录:

5 年,9 月 前