Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I rename a repository on GitHub?

I wanted to rename one of my repositories on GitHub, but I got scared when a big red warning said:

  1. We will not set up any redirects from the old location
  2. You will need to update your local repositories to point to the new location
  3. Renaming may take a few minutes to complete

Does anyone have step-by-step instructions on how to accomplish #1 and #2 manually? Or what do I have to do locally?

like image 691
rabbid Avatar asked Apr 22 '11 01:04

rabbid


1 Answers

If you are the only person working on the project, it's not a big problem, because you only have to do #2.

Let's say your username is someuser and your project is called someproject.

Then your project's URL will be1

[email protected]:someuser/someproject.git 

If you rename your project, it will change the someproject part of the URL, e.g.

[email protected]:someuser/newprojectname.git 

(see footnote if your URL does not look like this).

Your working copy of Git uses this URL when you do a push or pull.

So after you rename your project, you will have to tell your working copy the new URL.

You can do that in two steps:

Firstly, cd to your local Git directory, and find out what remote name(s) refer to that URL:

$ git remote -v origin  [email protected]:someuser/someproject.git 

Then, set the new URL

$ git remote set-url origin [email protected]:someuser/newprojectname.git 

Or in older versions of Git, you might need:

$ git remote rm origin $ git remote add origin [email protected]:someuser/newprojectname.git 

(origin is the most common remote name, but it might be called something else.)

But if there are lots of people who are working on your project, they will all need to do the above steps, and maybe you don't even know how to contact them all to tell them. That's what #1 is about.

Further reading:

  • GitHub - working with remotes
  • Git Reference - remotes
  • Git Book - Distributed Workflows

Footnotes:

1 The exact format of your URL depends on which protocol you are using, e.g.

like image 184
Mikel Avatar answered Oct 04 '22 10:10

Mikel