Comment renommer un référentiel sur GitHub?

317

Je voulais renommer l'un de mes référentiels sur GitHub, mais j'ai eu peur quand un gros avertissement rouge a dit:

  1. Nous ne configurerons aucune redirection depuis l'ancien emplacement
  2. Vous devrez mettre à jour vos référentiels locaux pour pointer vers le nouvel emplacement
  3. Le changement de nom peut prendre quelques minutes.

Quelqu'un a-t-il des instructions étape par étape sur la façon d'accomplir manuellement # 1 et # 2? Ou que dois-je faire localement?

lapin
la source
7
Vous n'avez plus besoin de mettre à jour votre réouverture locale après un changement de nom du référentiel Github. Voir ma réponse ci-dessous .
VonC
2
Sur Bitbucket, vous accédez aux paramètres du référentiel et modifiez le nom, puis sur votre ordinateur local, modifiez-le également dans le .git/configfichier.
aliteralmind
1
Ouvrir Repo -> Paramètres -> Renommer
Kanagavelu Sugumar

Réponses:

339

Si vous êtes la seule personne à travailler sur le projet, ce n'est pas un gros problème, car vous n'avez qu'à faire # 2.

Disons que votre nom d'utilisateur est someuseret que votre projet est appelé someproject.

L'URL de votre projet sera alors 1

[email protected]:someuser/someproject.git

Si vous renommez votre projet, cela changera la someprojectpartie de l'URL, par exemple

[email protected]:someuser/newprojectname.git

(voir note de bas de page si votre URL ne ressemble pas à ceci).

Votre copie de travail de Git utilise cette URL lorsque vous effectuez un pushou pull.

Ainsi, après avoir renommé votre projet, vous devrez indiquer à votre copie de travail la nouvelle URL.

Vous pouvez le faire en deux étapes:

Tout d'abord, cddans votre répertoire Git local, et découvrez quels noms distants font référence à cette URL:

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

Ensuite, définissez la nouvelle URL

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

Ou dans les anciennes versions de Git, vous pourriez avoir besoin de:

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

(origin est le nom distant le plus courant, mais il pourrait s'appeler autre chose.)

Mais s'il y a beaucoup de gens qui travaillent sur votre projet, ils devront tous faire les étapes ci-dessus, et peut-être que vous ne savez même pas comment les contacter tous pour leur dire. C'est de cela qu'il s'agit # 1.

Lectures complémentaires:

Notes de bas de page:

1 Le format exact de votre URL dépend du protocole que vous utilisez, par exemple

Mikel
la source
Merci pour votre réponse! Pour # 1, je n'ai pas de pages Web qui renvoient vers le repo. Je suis donc en sécurité? Pour # 2, que se passe-t-il exactement là-bas? Merci!
rabbid
J'ai ajouté plus d'informations sur les télécommandes qui devraient aider.
Mikel
1
Ma sortie pour git remote -vest sous la forme [email protected]:someuser, la barre oblique que vous avez mise ici n'a pas fonctionné pour moi. Tout le reste ici, cependant.
Droogans
Merci. Fixé. Je dois encore trouver un moyen de mentionner les URL https et git.
Mikel
3
Cela affectera-t-il les statistiques du repo comme le nombre d'étoiles?
Alex Naspo
132

Notez que depuis mai 2013 ("Les redirections de référentiel sont ici! "), Vous pouvez renommer votre référentiel GitHub sans rompre aucun lien:

Nous sommes heureux d'annoncer qu'à partir d'aujourd'hui, nous redirigerons automatiquement toutes les demandes d'emplacements de référentiel précédents vers leur nouveau domicile dans ces circonstances. Il n'y a rien de spécial à faire. Renommez-le et nous nous occuperons du reste.

En prime, nous traiterons également toutes les demandes de clonage, de récupération et de transmission Git des emplacements de référentiel précédents .

Cela signifie que vous n'avez même pas à git remote set-url(modifier l'URL de votre dépôt GitHub distant) sur votre dépôt local cloné!
Bien que Gabriel note dans les commentaires que la page d'aide officielle de GitHub vous recommande fortement de le faire:

pour réduire la confusion, nous vous recommandons fortement de mettre à jour tous les clones locaux existants pour pointer vers la nouvelle URL du référentiel. Vous pouvez le faire en utilisant git remote sur la ligne de commande:

git remote set-url origin new_url

Attention cependant:

Les sites GitHub Pages ne sont pas automatiquement redirigés lorsque leurs référentiels sont renommés à ce moment.
Renommer un référentiel Pages continuera de rompre tous les liens existants vers le contenu hébergé sur legithub.iodomaine ou les domaines personnalisés.

De plus, l'utilisateur possède toujours l'espace de noms : s'il crée un nouveau référentiel en utilisant l'ancien nom du référentiel renommé, cette redirection (pour ledit référentiel renommé) cessera de fonctionner.

VonC
la source
4
Ceci est vraiment utile mais était initialement très déroutant lorsque le changement de nom n'a pas interrompu mon ancienne activité push / pull. Maintenant, je peux changer le nom immédiatement et informer tout le monde de la mise à jour de leurs référentiels set-urlavant une certaine date. Après cette date, je casserai l'ancien dépôt de nom en en créant un vierge avec un joli fichier Lisez-moi "I WARNED U".
cod3monk3y
Notez que même si vous n'avez pas besoin d' utiliser git remote set-urlpour mettre à jour un clone local existant pour pointer vers la nouvelle URL du référentiel, il est fortement recommandé de le faire.
Gabriel
61

Je renomme le mien simplement:

  1. aller à github.com sur mon référentiel
  2. Ouvrir l'onglet Paramètres
  3. Le premier paramètre que vous pouvez voir est le "Nom du référentiel"
  4. Modifiez le nom réel et mettez le nouveau nom que vous souhaitez donner à votre référentiel
  5. Cliquez sur Renommer

Après cette étape, GitHub s'assurera que votre référentiel en ligne correspond au nom de votre dossier local. À ce stade, votre problème est résolu, sauf si vous souhaitez également renommer votre dossier local. Ensuite, faites-le manuellement et utilisez simplement le client Github pour Windows pour retrouver à nouveau votre référentiel dans votre disque dur, et Github le fera correspondre à nouveau. C'est tout! Très simple.

pollux1er
la source
1
C'est incroyable de voir comment, non seulement les réponses très votées ici, mais les pages d'aide sur github.com élident l'étape de changement de nom sur github.com via l'onglet Paramètres.
user3673
16

La façon la plus simple que j'ai trouvée

  1. Accédez à votre lien repo par exemple: - https://github.com/someuser/someRepo.git

  2. Cliquez sur l'onglet de réglage.

entrez la description de l'image ici

la première chose que vous pouvez voir est le nom de votre repo, vous pouvez le modifier.

Remarque: - Si vous avez cloné le référentiel sur local, modifiez son nom de dossier manuellement, c'est tout.

Rajnish Rajput
la source
10

Je vois beaucoup de commentaires positifs sur les réponses que je ne trouve pas exactes / complètes.

Il y a deux choses à garder à l'esprit:

  • Référentiel distant
  • Copie locale du référentiel

Si vous n'avez pas encore cloné votre référentiel dans votre machine, il vous suffit de renommer le référentiel Github, puis de cloner le référentiel afin d'avoir une copie locale. Pour renommer le référentiel Github, il vous suffit de:

  1. Accédez au site du référentiel (c'est-à-dire https://github.com/userX/repositoryZ ).
  2. Dans la barre de navigation, vous verrez un onglet nommé "Paramètres". Clique dessus.
  3. Modifiez simplement le nom du référentiel actuel avec celui souhaité et appuyez sur "Renommer".
  4. Clonez le référentiel comme d'habitude (c'est-à-dire git clone https://github.com/userX/repositoryU ).

Si vous avez déjà une copie locale du projet , en plus de suivre les étapes ci-dessus, vous devez vous assurer que votre référentiel local (dossier racine) est renommé correctement et qu'il pointe vers le lien URL distant droit :). Pour ce faire, procédez comme suit:

  1. Vous voudrez peut-être utiliser le nouveau prénom pour votre dépôt. Pour ce faire, renommez le dossier local en utilisant l'interface graphique du système d'exploitation (Finder, Windows Explorer, etc.) ou la console:

mv -R current-repo-name new-repo-name

  1. Modifiez l'URL à distance. Depuis la racine du dossier, utilisez ce qui suit:

$ git remote set-url origin https://github.com/userX/repositoryU

ou

$ git remote set-url origin [email protected]:userX/repositoryU.git

La deuxième étape n'est cependant pas obligatoire. Github a annoncé il y a quelque temps qu'ils redirigeraient toutes les demandes des URL de référentiel précédentes vers celles attribuées . Cela signifie que vous n'avez pas besoin d'utiliser$ git remote set-url ... , mais ils vous encouragent à le faire pour éviter toute confusion.

J'espère que cela a aidé. Si vous avez des questions ou si le message n'est pas assez clair, faites-le moi savoir.

cesards
la source
9

Cette réponse est désormais obsolète! GitHub sera transféré vers de nouveaux emplacements maintenant. Voir cette réponse pour plus de détails.


La raison de cet avertissement est que le n ° 1 ne peut pas être créé manuellement.

Si vous êtes la seule personne à travailler sur le référentiel et à s'y connecter, vous pouvez très bien changer la télécommande dans votre référentiel local et dans vos pages Web.

Cependant, la raison d'avoir un référentiel public sur github en premier lieu est que vous pouvez en avoir d'autres clonant votre référentiel et établissant un lien vers votre page de projet github.


L'ancienne URL github.com/<username>/<repository>appartient à github. Lorsqu'ils ne configurent aucune redirection vers la nouvelle URL, personne ne le peut. Les choses vont donc se briser pour tout le monde sauf pour les personnes que vous dites.

Quelle est l'ampleur d'un problème, c'est à vous de décider. Si vous avez une page de projet officielle sur un autre serveur, alors l'url de github pourrait ne pas être un gros problème. Si vous avez annoncé votre projet avec l'url github dans les listes de diffusion et les répertoires, vous ne devriez probablement pas changer le nom du référentiel.


Une alternative à la modification du nom du référentiel consiste à créer un nouveau référentiel et à laisser des notes dans l'ancien (également en tant que commits dans le référentiel) sur la façon d'atteindre votre nouveau référentiel.

Si vous ne souhaitez pas que votre nouveau référentiel soit répertorié comme un fork de votre ancien référentiel, vous devez créer un nouveau compte Github. Vous pouvez ajouter votre autre compte en tant que collaborateur pour les deux référentiels.

JonnyJD
la source
6

Il convient de noter que si vous créez un projet GitHub, puis renommez la copie nouvellement générée, le nouveau nom apparaît dans le graphique réseau des membres du projet parent. La relation complémentaire est également préservée. Cela devrait répondre à toutes les réserves associées au premier point de la question d'origine concernant les redirections, c'est-à-dire que vous pouvez toujours y arriver à partir de là, pour ainsi dire. Moi aussi, j'hésitais à cause de l'irrévocabilité impliquée par l'avertissement, alors j'espère que cela sauvera les autres.

Neil Best
la source
Vous ne pouvez pas créer votre propre projet sur github. Vous devez donc utiliser un autre compte, mais cela fonctionnerait.
JonnyJD
J'ai bifurqué vers une organisation, donc je suppose que c'est la même chose que d'utiliser un autre compte. Je suis sûr que vous avez raison.
Neil Best
Vous pouvez créer un nouveau référentiel vide. Clonez l'ancien référentiel. Ajoutez une référence à distance à votre nouveau référentiel. Et puis poussez les branches que vous souhaitez vers le nouveau référentiel (par exemple maître). Je suppose que ce serait une fourchette partielle.
Darrel Lee du
6
  • Accédez à votre chemin de référentiel.
  • Cliquez sur le bouton de réglage qui est là en panne à droite.
  • Remplacez l'ancien nom du référentiel par un nouveau nom.
  • Cliquez sur le bouton Renommer
reshma
la source
3

Cette solution est destinée aux utilisateurs qui utilisent le bureau GitHub.

  1. Renommez votre référentiel à partir de la configuration sur GitHub.com

  2. À partir de votre bureau, cliquez sur synchroniser.

Terminé.

Faiyaz Alam
la source
il est étrange qu'une telle fonctionnalité de base ne soit pas trouvée dans l'application elle
svarog
1
  1. ouvrez cette URL ( https://github.com/ ) depuis votre navigateur

  2. Accédez aux référentiels à l'extrémité droite de la page

  3. Ouvrez le lien du référentiel que vous souhaitez renommer

  4. cliquez sur Paramètres (vous trouverez dans la barre de navigation)

  5. En haut, vous trouverez une boîte appelée (nom du référentiel) où vous écrivez le nouveau nom

  6. Appuyez sur Renommer

dompteur kamal
la source
0

J'ai essayé de renommer le référentiel sur la page Web:

  1. Cliquez sur le haut des pages de droite que c'est votre avatar.
  2. vous pouvez regarder l'icône de setting, cliquer dessus et ensuite vous pouvez trouver le Repositoriessous le Personal setting.
  3. cliquez sur Repositorieset entrez vos répertoires de référentiels, choisissez le référentiel que vous souhaitez renommer.
  4. Ensuite, vous entrerez dans le référentiel choisi et vous trouverez l'icône de settingest ajoutée à la ligne supérieure, cliquez simplement dessus et entrez le nouveau nom, puis cliquez sur Rename.

Fait, si facile.

jian shu
la source
-4

Solution simple:

1) Ouvrez l'url de votre projet: https://github.com/someuser/project-name
2) en haut, à côté du nom du projet, cliquez sur MODIFIER

T.Todua
la source
5
Il n'y a pas un tel bouton
douglaslps