487 votes

Comment renommer un dépôt Git ?

git mv renomme un fichier ou un répertoire dans un dépôt. Comment renommer le dépôt Git lui-même ?

1 votes

J'ai essayé d'utiliser mv pour renommer le PROJ0.git dans mon `repositories host', ça marche. Mais je ne sais pas si c'est correct, je veux dire, valide.

5 votes

Votre question est pertinente. Git a des dépôts et ils peuvent contenir des projets comme les projets Eclipse si vous décidez de placer votre projet dans un dépôt git. Si c'est ce que vous voulez, voyez comment faire dans la réponse ci-dessous.

4 votes

git lui-même ne prévoit pas de spécifier le nom du référentiel. Le nom du répertoire racine est le une seule source de vérité concernant le nom du référentiel. Le site .git/description bien qu'il ne soit utilisé que par certaines applications comme Gitweb

702voto

Alex Brown Points 15776

Il y a plusieurs interprétations possibles de ce que l'on entend par renommer un dépôt Git : le nom affiché, le répertoire du dépôt ou le nom du dépôt distant. Chacune d'entre elles nécessite des étapes différentes pour être renommée.

Nom affiché

Renommer le nom affiché (par exemple, affiché par gitweb ) :

  1. Modifier .git/description pour contenir le nom du référentiel.
  2. Enregistrez le fichier.

Répertoire des dépôts

Git ne référence pas le nom du répertoire contenant le référentiel, comme utilisé par git clone master child Nous pouvons donc simplement le renommer :

  1. Ouvrez une invite de commande (ou une fenêtre de gestionnaire de fichiers).
  2. Passez dans le répertoire qui contient le répertoire du référentiel (c'est-à-dire n'allez pas dans le répertoire du référentiel lui-même).
  3. Renommez le répertoire (par exemple, en utilisant mv depuis la ligne de commande ou le F2 hotkey à partir d'une interface graphique).

Dépôt à distance

Renommez un référentiel distant comme suit :

  1. Allez sur l'hôte distant (par exemple, https://github.com/User/project ).
  2. Suivez les instructions de l'hôte pour renommer le projet (cela diffère d'un hôte à l'autre, mais généralement Paramètres est un bon point de départ).
  3. Allez dans le répertoire de votre référentiel local (c'est-à-dire, ouvrez une invite de commande et passez dans le répertoire du référentiel).
  4. Déterminez la nouvelle URL (par exemple, git@github.com:User/project-new.git )
  5. Définissez la nouvelle URL en utilisant Git :

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

3 votes

Dans le second cas, qu'arrive-t-il à celui qui a déjà cloné le référentiel ?

3 votes

Rien de mauvais. Ils conservent le nom d'origine, mais leur télécommande est maintenant fausse : s'ils veulent récupérer les mises à jour, ils doivent se connecter au nouveau nom. Si vous et eux se synchronisent sur un référentiel central, le nom d'origine sera conservé et tout continuera à fonctionner.

16 votes

Notez que l'assertion "git ne fait pas référence à ce nom de répertoire" dans le second cas est fausse si vous utilisez des submodules : git utilise un chemin absolu pour faire référence aux submodules, donc renommer le répertoire de votre dépôt interrompra les submodules. Voir stackoverflow.com/questions/10144149/

28voto

Tobu Points 10101

Un dépôt Git n'a pas de nom. Vous pouvez simplement renommer le répertoire contenant votre arbre de travail si vous le souhaitez.

8 votes

Oui, un repo git a un nom. J'ai eu cette erreur après avoir renommé : $ git status fatal: Not a git repository: C:/xxx/.git/xxx fatal: git status --porcelain failed

0 votes

@Sawny, je ne vois pas ce que ça a à voir avec quoi que ce soit.

21 votes

Vous avez dit qu'un repo git n'a pas de nom, mais ce n'est pas vrai. Si vous utilisez des submoduels et renommez simplement le dossier, vous obtiendrez des erreurs de la part de git. Voir stackoverflow.com/questions/9878860/

19voto

Alex Points 41

Renommer PRJ0.git à PROJ1.git puis modifiez la variable URL située dans le fichier .git/config de votre projet.

16voto

mholm815 Points 500

Dans un nouveau référentiel, par exemple, après une $ git init le répertoire .git contiendra le fichier .git/description.

Ce qui ressemble à ça :

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

L'édition de ces données sur le référentiel local ne les modifiera pas sur le référentiel distant.

0 votes

La réponse d'Alex Brown avait inclus votre.

13voto

Droogans Points 2098

Si vous voulez dire renommer votre référentiel, allez dans votre référentiel et cliquez sur "admin", puis renommer.

Une fois que vous voyez la boîte rouge vous avertissant de la chute du ciel et d'autres choses, allez lire cette question .

12 votes

Il peut être utile de préciser que cette suggestion est spécifique à Github et qu'elle ne s'applique pas à Git en général.

1 votes

À partir de janvier 2013, les instructions de github devraient maintenant être : (soyez connecté à github), allez dans votre repo, puis allez dans "Paramètres" >> "Options" et cherchez un bouton Renommer là. En ce qui concerne les avertissements en rouge sur les mauvaises choses qui se produisent, le lien de Droogan à l'autre question sur le s.o. est toujours fortement recommandé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X