如何重命名 Git 存储库?

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

488052 次浏览

对于重命名Git存储库的含义有多种可能的解释:显示的名称、存储库目录或远程存储库名称。每一种都需要不同的重命名步骤。

显示的名字

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

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

存储库目录

Git没有引用包含存储库的目录的名称,正如git clone master child所使用的那样,所以我们可以简单地重命名它:

  1. 打开命令提示符(或文件管理器窗口)。
  2. 更改到包含存储库目录的目录(即,不要进入存储库目录本身)。
  3. 重命名目录(例如,从命令行使用mv或从GUI使用F2热键)。

远程存储库

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

  1. 转到远程主机(例如,https://github.com/User/project)。
  2. 按照主机的指示重命名项目(将因主机而异,但通常设置是一个很好的起点)。
  3. 转到本地存储库目录(即,打开命令提示符并更改到存储库目录)。
  4. 确定新的URL(例如,git@github.com:User/project-new.git)
  5. 使用Git设置新的URL:

    git remote set-url origin git@github.com:User/project-new.git
    

Git存储库没有名称。如果需要,可以重命名包含工作树的目录。

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

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

看起来是这样的:

# EYZ0

在本地存储库上编辑它不会在远程存储库上更改它。

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

一旦你看到红色框警告你一些天空下降和其他事情,去读一读这个问题

如果你在Eclipse中并且已经安装了Egit,那么你可以重命名包含项目的存储库,方法如下:

1) 在Eclipse中< em > < / em >:关闭存储库中的所有项目。

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

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

4) 文件系统中 . txt:打开包含存储库的目录/文件夹,重命名任何项目的项目目录/文件夹,以便它与项目的新名称匹配。(这不是必需的,但它使Eclipse中的项目名称与存储库中的项目目录/文件夹保持一致。)

5) 在Eclipse中< em > < / em >:删除存储库中的所有项目,但要确保选中“从文件系统中删除内容”复选框。(该项目应该不再包含文件系统内容的正确位置,因此数据在任何情况下都不能被删除,但安全总比遗憾好。)

6) 在Eclipse中< em > < / em >:从菜单中选择文件|导入…选择。

7) 在Eclipse中< em > < / em >:在对话框中打开“Git”文件夹,选择“Projects from Git”,然后单击“Next”。

8) 在Eclipse中< em > < / em >:在对话框中选择“本地”,然后单击“下一步”。

9) 在Eclipse中< em > < / em >:在对话框中点击“添加…””按钮。

10) 在Eclipse中< em > < / em >:在对话框中,确保存储库旁边的复选框被选中,然后单击“完成”。

11) 在Eclipse中< em > < / em >:在对话框中选择存储库并单击“下一步”。

12) 在Eclipse中< em > < / em >:在对话框中选择“导入现有项目”单选按钮,选择“工作目录”,然后单击“下一步”。

13) 在Eclipse中< em > < / em >:在对话框中选中你想要工作的项目旁边的复选框,然后单击“完成”。

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

  • 在服务器端,像往常一样使用mv命令重命名存储库:

    mv oldName.git newName.git
    
  • Then on the client side, change the value of the [remote "origin"] URL into the new one:

    url=example.com/newName.git
    

It worked for me.

简单来说,只需删除Eclipse项目(不要选择磁盘上的内容),然后重新导入该项目。

Eclipse将识别连接到Git的项目,并将其放入Git透视图中。

这招很管用。

重命名你的GitHub帐户的任何存储库:

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

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

不过,.git/description只被一些应用程序使用,比如GitWeb

对于Amazon AWS codecommit用户,

aws codecommit update-repository-name --old-name MyDemoRepo --new-name MyRenamedDemoRepo

参考:# EYZ0

如果你正在使用GitLab或GitHub,那么你可以图形化地修改这些文件。

使用GitLab

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

完成此操作后,必须使用更新本地客户机配置

git remote set-url origin sshuser@gitlab-url:GROUP/new-project-name.git

主要更改的名称是这里(img 1),也更改readme。Md (img 2)

enter image description here

enter image description here

  1. 转到远程主机(例如,https://github.com/<User>).
  2. 打开库
  3. 单击标签设置
  4. 库名称下重命名(并按下按钮重命名)。

在Windows 10上,通过命令行,这个方法很管用:

git checkout <oldname>
git branch -m <newname>

从# EYZ0

这是一个本地存储库(不在任何远程设备上)。

在浏览器上打开git存储库,找到“设置”,你可以看到重命名按钮。

输入新的“存储库名称”并点击“重命名”按钮。

您尝试过在package.json中更改项目名称并执行命令git init来重新初始化现有的Git吗?

您现有的Git历史将仍然存在。

Github作为你的遥控器

在Github上重命名远程回购

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

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

enter image description here

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

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

由于Github保存旧的回购名称,并将请求重定向到新的url,如果任何人在试图访问问题、wiki、明星或追随者时使用基于旧回购名称的链接,他们仍然会到达Github网站上的新位置。Github还重定向低级Git命令,如git clonegit fetch等。

更多信息在Github帮助重命名一个回购

重命名本地回购名称

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

Git被设计成只关心根文件夹中的文件。

这是一个极其简单的解决方案,尽管有些人可能会认为它“不优雅”。或者是一个“黑客”,它掩盖了我的无知。

  1. 验证您的本地回购已经提交并推送了所有内容(到远程源)。
  2. 访问远程主机的网站(例如,https://github.com/User/project-original-name)。按照主机的指示重命名repo(将因主机而异,但通常设置是一个很好的起点)。(为了本指南的目的,假设您将您的repo重命名为“project-new-name”。)
  3. 在本地删除整个repo(例如,rm -r project-original-name)。
  4. 做一个“新鲜结帐”:git clone https://github.com/User/project-new-name

注意:如果回购的另一个用户不遵循这些说明,只是在未来进行拉取,我不知道这会产生什么影响。

@ # EYZ0

Server Side: mv oldName.git newName.git
Client Side: ./.git/config change [remote "origin"] | url to newName.git

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

git remote set-url origin url

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

我收藏^页,它告诉我命令,并允许我玩周围的参数。超级有用,我觉得。