如何重命名git存储库?

时间:2010-01-11 13:11:30

标签: git

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

19 个答案:

答案 0 :(得分:502)

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

显示名称

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

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

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

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

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

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

        设置新网址
        git remote set-url origin git@github.com:User/project-new.git
        

答案 1 :(得分:20)

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

答案 2 :(得分:16)

PRJ0.git重命名为PROJ1.git,然后修改位于项目.git/config文件中的网址变量。

答案 3 :(得分:13)

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

看起来像这样:

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

在本地仓库上编辑它不会在遥控器上改变它。

答案 4 :(得分:12)

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

一旦你看到红色方框警告你有关天空坠落和其他事情,go read this question

答案 5 :(得分:10)

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

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

答案 6 :(得分:7)

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

    mv oldName.git newName.git
    
  • 然后在客户端,将[remote "origin"]网址的值更改为新网址。

    url=example.com/newName.git
    

为我工作。

答案 7 :(得分:7)

使用Github作为您的遥控器

在Github上重命名远程仓库

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

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

enter image description here

Github会将请求重定向到新URL

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

由于Github保存了旧的存储库名称并将请求重定向到新的URL,因此,如果有人在尝试访问问题,Wiki,星号或关注者时使用基于旧存储库名称的链接,它们仍将到达新的位置。 Github网站。 Github还会重定向git clonegit fetch等较低级别的Git命令。

更多信息在Github Help for Renaming a Repo

重命名本地存储库名称

正如其他人提到的那样,您的存储库的本地“名称”通常被认为是根文件夹/目录名,您可以更改该名称,将其移动或复制到任何位置,并且不会影响该存储库完全没有。

Git旨在仅担心根文件夹中的文件。

答案 8 :(得分:6)

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

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

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

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

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

5) 在Eclipse中 :删除存储库中的所有项目但确保检查“从中删除内容”文件系统'复选框。 (项目不应再包含文件系统内容的正确位置,因此在任何情况下都无法删除数据,但最好是安全而不是抱歉。)

6) 在Eclipse中 :从菜单中选择文件|导入...选项。

7) 在Eclipse中 :在对话框中打开“Git”文件夹,选择“Git项目”并点击“下一步”。

8) 在Eclipse中 :在对话框中选择“本地”,然后点击“下一步”。

9) 在Eclipse中 :在对话框中点击“添加...”按钮。

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

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

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

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

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

答案 9 :(得分:6)

如果您使用的是Gitlab或Github,那么您可以用图形方式修改这些文件。

使用Gitlab

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

完成此操作后,必须使用

更新本地客户端配置
git remote set-url origin sshuser@gitlab-url:GROUP/new-project-name.git

答案 10 :(得分:5)

git本身没有规定存储库名称的规定。根目录的名称是与存储库名称有关的单一事实来源 但.git/description仅供某些应用程序使用,例如Gitweb

答案 11 :(得分:4)

主要名称在这里(img 1),但也更改了readme.md(img 2)

enter image description here

enter image description here

答案 12 :(得分:3)

用于aws codecommit个用户,

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

参考:here

答案 13 :(得分:3)

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

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

它就像一个魅力。

答案 14 :(得分:1)

  1. 转到远程主机(例如https://github.com/User/project)。
  2. 点击标签设置。
  3. 重命名存储库名称。

答案 15 :(得分:0)

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

输入新的“存储库名称”,然后单击“重命名”按钮。

答案 16 :(得分:0)

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

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

答案 17 :(得分:0)

这是一个非常简单的解决方案,尽管有些人可能认为它“不雅”或“黑客”,而且它掩盖了我的 git 不专业。

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

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

答案 18 :(得分:-1)

这在Windows 10上通过命令行对我有效:

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

来自 How To Rename a Local and Remote Git Branch

这是仅本地存储库(不在任何远程服务器上)。