Comment renommer le dossier d’un dépôt Git sur mon ordinateur sans changer le nom du projet


Si vous voulez dire que vous voulez renommer le dossier qui contient le dépôt git, alors renommez-le simplement. Git ne se soucie pas du dossier ou du répertoire englobant.

En plus de détails, si vous voulez dire :


"Comment puis-je faire 'git clone' un projet, ce qui crée un répertoire sur ma machine locale contenant le contenu de ce projet, puis renommer ce répertoire sur ma machine locale sans créer de risque de propagation d'un quelconque changement du nom du projet vers le dépôt amont ?"

Alors la réponse est que vous renommez simplement le répertoire local créé par la commande 'git clone'. Git ne s'intéresse qu'à ce qui se trouve à l'intérieur du .git et aux fichiers de travail à l'intérieur du répertoire de projet englobant et de premier niveau. Il ne regarde jamais le nom du répertoire de projet de haut niveau englobant, seulement son contenu.

Donc par exemple, clonons git le code source 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.