Cómo renombrar la carpeta de un repositorio Git en mi ordenador sin cambiar el nombre del proyecto

Si te refieres a que quieres renombrar la carpeta que contiene el repositorio git, entonces simplemente renómbrala. A Git no le importa la carpeta o directorio que lo encierra.

Con más detalle, si te refieres a:

"¿Cómo hago 'git clone' un proyecto, que crea un directorio en mi máquina local que contiene el contenido de ese proyecto, y luego renombrar ese directorio en mi máquina local sin crear ningún riesgo de propagar algún cambio en el nombre del proyecto de vuelta al repositorio upstream?"

Entonces la respuesta es que simplemente renombras el directorio local creado por el comando 'git clone'. Git sólo se preocupa de lo que hay dentro del .git y de los archivos de trabajo dentro del directorio de proyecto de nivel superior que lo encierra. Nunca mira el nombre del directorio del proyecto de nivel superior que lo rodea, sólo su contenido.

Así que, por ejemplo, vamos a clonar con git el código fuente de git. We’ll do this in the /tmp directory, so first let’s create a “gittest” directory in there:

  1. puff@redbitter:~$ cd /tmp 
  2. puff@redbitter:/tmp$ mkdir gittest 
  3. puff@redbitter:/tmp$ cd gittest/ 
  4. puff@redbitter:/tmp/gittest$ ls -al 
  5. total 68 
  6. drwxrwxr-x 2 puff puff 4096 Jun 19 13:22 . 
  7. drwxrwxrwt 29 root root 61440 Jun 19 13:22 .. 

Okay, now let’s clone the git source code:

  1. puff@redbitter:/tmp/gittest$ git clone https://github.com/git/git.git 
  2. Cloning into 'git'... 
  3. remote: Enumerating objects: 270102, done.  
  4. remote: Total 270102 (delta 0), reused 0 (delta 0), pack-reused 270102  
  5. Receiving objects: 100% (270102/270102), 118.54 MiB | 10.48 MiB/s, done. 
  6. Resolving deltas: 100% (200411/200411), done. 
  7. Checking connectivity... done. 
  8. puff@redbitter:/tmp/gittest$ 

Okay, let’s take a look at what that created:

  1. puff@redbitter:/tmp/gittest$ ls -al 
  2. total 88 
  3. drwxrwxr-x 3 puff puff 4096 Jun 19 13:23 . 
  4. drwxrwxrwt 42 root root 61440 Jun 23 13:30 .. 
  5. drwxrwxr-x 28 puff puff 20480 Jun 19 13:27 git 
  6. puff@redbitter:/tmp/gittest$  

And now let’s go into that new “git” subdirectory and do a “git status”:

  1. puff@redbitter:/tmp/gittest$ cd git 
  2. puff@redbitter:/tmp/gittest/git$ git status 
  3. On branch master 
  4. Your branch is up-to-date with 'origin/master'. 
  5. nothing to commit, working directory clean 
  6. puff@redbitter:/tmp/gittest/git$  

Good enough, now let’s go up one level and rename the “git” directory that the “git clone” command created. I’ll rename it to “git_repo” so I know it contains a git project. That’s my preferred suffix, some people use “foo.git”, I just like “foo_repo” better.

  1. puff@redbitter:/tmp/gittest/git$ cd .. 
  2. puff@redbitter:/tmp/gittest$ mv git git_repo 
  3. puff@redbitter:/tmp/gittest$  

Okay, now let’s cd back into the directory that’s now named “git_repo” and do another “git status”

  1. puff@redbitter:/tmp/gittest$ cd git_repo/ 
  2. puff@redbitter:/tmp/gittest/git_repo$ git status 
  3. On branch master 
  4. Your branch is up-to-date with 'origin/master'. 
  5. nothing to commit, working directory clean 
  6. puff@redbitter:/tmp/gittest/git_repo$  

Everything works fine. Git has no clue that the enclosing directory is named “git_repo” instead of “git”. Git doesn’t care.