How do I rename a Git repository?

Git

Git Problem Overview


git mv renames a file or directory in a repository. How do I rename the Git repository itself?

Git Solutions


Solution 1 - Git

There are various possible interpretations of what is meant by renaming a Git repository: the displayed name, the repository directory, or the remote repository name. Each requires different steps to rename.

Displayed Name

Rename the displayed name (for example, shown by gitweb):

  1. Edit .git/description to contain the repository's name.
  2. Save the file.

Repository Directory

Git does not reference the name of the directory containing the repository, as used by git clone master child, so we can simply rename it:

  1. Open a command prompt (or file manager window).
  2. Change to the directory that contains the repository directory (i.e., do not go into the repository directory itself).
  3. Rename the directory (for example, using mv from the command line or the F2 hotkey from a GUI).

Remote Repository

Rename a remote repository as follows:

  1. Go to the remote host (for example, https://github.com/User/project).

  2. Follow the host's instructions to rename the project (will differ from host to host, but usually Settings is a good starting point).

  3. Go to your local repository directory (i.e., open a command prompt and change to the repository's directory).

  4. Determine the new URL (for example, [email protected]:User/project-new.git)

  5. Set the new URL using Git:

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

Solution 2 - Git

A Git repository doesn't have a name. You can just rename the directory containing your worktree if you want.

Solution 3 - Git

With Github As Your Remote

Renaming the Remote Repo on Github

Regarding the remote repository, if you are using Github or Github Enterprise as the server location for saving/distributing your repository remotely, you can simply rename the repository directly in the repo settings.

From the main repo page, the settings tab is on the right, and the repo name is the first item on the page:

enter image description here

Github will redirect requests to the new URL

One very nice feature in Github when you rename a repo, is that Github will save the old repo name and all the related URLs and redirect traffic to the new URLs. Since your username/org and repo name are a part of the URL, a rename will change the URL.

Since Github saves the old repo name and redirects requests to the new URLs, if anyone uses links based on the old repo name when trying to access issues, wiki, stars, or followers they will still arrive at the new location on the Github website. Github also redirects lower level Git commands like git clone, git fetch, etc.

More information is in the Github Help for Renaming a Repo

Renaming the Local Repo Name

As others have mentioned, the local "name" of your repo is typically considered to be the root folder/directory name, and you can change that, move, or copy the folder to any location and it will not affect the repo at all.

Git is designed to only worry about files inside the root folder.

Solution 4 - Git

Rename PRJ0.git to PROJ1.git, then edit the URL variable located in the .git/config file of your project.

Solution 5 - Git

In a new repository, for instance, after a $ git init, the .git directory will contain the file .git/description.

Which looks like this:

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

Editing this on the local repository will not change it on the remote.

Solution 6 - Git

To rename any repository of your GitHub account:

  1. Go to that particular repository which you want to rename
  2. Navigate to the settings tab
  3. There, in the repository name section, type the new name you want to put and click Rename

Solution 7 - Git

If you meant renaming your repository, go to your repository and click "admin", then rename.

Once you see the red box warning you about some sky-fallingness and other things, go read this question.

Solution 8 - Git

If you are using GitLab or GitHub, then you can modify those files graphically.

Using GitLab

Go to your project Settings. There you can modify the name of the project and most importantly you can rename your repository (that's when you start getting in the danger section).

Once this is done, local clients configurations must be updated using

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

Solution 9 - Git

If you are in Eclipse and have installed Egit then you can rename the repository that contains a project by doing the following:

  1. In Eclipse: Close all projects that are in the repository.

  2. In the file system: Locate the directory/folder that contains the repository.

  3. In the file system: Rename the directory/folder that contains the repository.

  4. In the file system: Open the directory/folder that contains the repository and rename the project directory/folder of any project you intend to rename so that it will match the new name of the project. (This is not required but it gives consistency between the project name in Eclipse and the project directory/folder in the repository.)

  5. In Eclipse: Delete all projects that are in the repository but be sure to NOT check the 'Delete the contents from the file system' checkbox. (The project should no longer contain the correct location of the contents of the file system so the data could not be deleted in any case but it is better to be safe than sorry.)

  6. In Eclipse: From the Menu select the File|Import... option.

  7. In Eclipse: In dialog box open the 'Git' folder, select 'Projects from Git' and click 'Next'.

  8. In Eclipse: In dialog box select 'Local' and click 'Next'.

  9. In Eclipse: In dialog box click the 'Add...' button.

  10. In Eclipse: In dialog box make sure the check box next to the repository is checked and click 'Finish'.

  11. In Eclipse: In dialog box select the repository and click 'Next'.

  12. In Eclipse: In dialog box select the 'Import existing projects' radio button, select the "Working Directory" and click 'Next'.

  13. In Eclipse: In dialog box check the check box next to the projects you want to work on and click 'Finish'.

  14. In Eclipse: Rename any the projects that are in the repository if so desired. (For consistency between Eclipse and the file system give them the same name as the project directory/folder inside the repository directory/folder.)

Solution 10 - Git

  • On the server side, just rename the repository with the mv command as usual:

      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.

Solution 11 - Git

Git itself has no provision to specify the repository name. The root directory's name is the single source of truth pertaining to the repository name.

The .git/description though is used only by some applications, like GitWeb.

Solution 12 - Git

For Amazon AWS codecommit users,

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

Reference: here

Solution 13 - Git

To be simple, just remove that Eclipse Project (not choose content on disk), then re-import the project again.

Eclipse will identify the project connected to Git and put it in Git perspective view.

It works like a charm.

Solution 14 - Git

The main name change is here (img 1), but also change readme.md (img 2)

enter image description here

enter image description here

Solution 15 - Git

  1. Go to the remote host (e.g., https://github.com/<User>/<Project>/ ).
  2. Click tab Settings.
  3. Rename under Repository name (and press button Rename).

Solution 16 - Git

Open git repository on browser, got to "Setttings", you can see rename button.

Input new "Repository Name" and click "Rename" button.

Solution 17 - Git

Have you try changing your project name in package.json and execute command git init to reinitialize the existing Git, instead?

Your existing Git history will still exist.

Solution 18 - Git

This is an extremely simple solution, though some may consider it "inelegant" or a "hack", and it belies my git inexpertise.

  1. Verify that your local repo has everything committed and pushed (to remote origin).
  2. Go to the website of the remote host (for example, https://github.com/User/project-original-name). Follow the host's instructions to rename the repo (will differ from host to host, but usually Settings is a good starting point). (For the purposes of this guide, suppose you renamed your repo to "project-new-name".)
  3. Locally remove your whole repo (e.g., rm -r project-original-name).
  4. Do a "fresh checkout": git clone https://github.com/User/project-new-name

NOTE: If another user of the repo doesn't follow these instructions, and just does a pull in the future, I have no idea what effect this will have.

Solution 19 - Git

@Parison

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

Solution 20 - Git

This worked for me on Windows 10, via the command line:

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

From How To Rename a Local and Remote Git Branch

This was a local-only repository (not on any remotes).

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionYantao XieView Question on Stackoverflow
Solution 1 - GitAlex BrownView Answer on Stackoverflow
Solution 2 - GitTobuView Answer on Stackoverflow
Solution 3 - GitLightCCView Answer on Stackoverflow
Solution 4 - GitAlexView Answer on Stackoverflow
Solution 5 - Gitmholm815View Answer on Stackoverflow
Solution 6 - GitNeha KumariView Answer on Stackoverflow
Solution 7 - GityurisichView Answer on Stackoverflow
Solution 8 - Gitavi.elkharratView Answer on Stackoverflow
Solution 9 - GitDanny Remington - OMSView Answer on Stackoverflow
Solution 10 - GitParisonView Answer on Stackoverflow
Solution 11 - GitUjjwal SinghView Answer on Stackoverflow
Solution 12 - GitExtreme View Answer on Stackoverflow
Solution 13 - GitRichardView Answer on Stackoverflow
Solution 14 - GitASHView Answer on Stackoverflow
Solution 15 - GitUku LeleView Answer on Stackoverflow
Solution 16 - GitUdayView Answer on Stackoverflow
Solution 17 - GitpriyabagusView Answer on Stackoverflow
Solution 18 - GitmannygloverView Answer on Stackoverflow
Solution 19 - GitalboforlizoView Answer on Stackoverflow
Solution 20 - Gitemery.noelView Answer on Stackoverflow