404 votes

Comment renommer un dépôt sur GitHub ?

J'ai voulu renommer l'un de mes dépôts sur GitHub, mais j'ai eu peur quand un gros avertissement rouge a dit :

  1. Nous ne mettrons pas en place de redirections à partir de l'ancien emplacement.
  2. Vous devrez mettre à jour vos dépôts locaux pour qu'ils pointent vers le nouvel emplacement.
  3. Le renommage peut prendre quelques minutes

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

10 votes

Vous n'avez plus besoin de mettre à jour votre repo local après un renommage du repo Github. Voir ma réponse ci-dessous .

2 votes

Sur Bitbucket, vous allez dans les paramètres du référentiel et vous changez le nom, puis sur votre ordinateur local, vous le changez également dans le fichier .git/config fichier.

2 votes

Ouvrir Repo -> Paramètres -> Renommer

432voto

Mikel Points 10000

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

Disons que votre nom d'utilisateur est someuser et votre projet s'appelle someproject .

Alors l'URL de votre projet sera 1

git@github.com:someuser/someproject.git

Si vous renommez votre projet, cela changera le nom de l'utilisateur. someproject de l'URL, par exemple

git@github.com:someuser/newprojectname.git

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

Votre copie de travail de Git utilise cette URL quand vous faites un push ou pull .

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

Vous pouvez le faire en deux étapes :

Tout d'abord, cd dans votre répertoire Git local, et découvrez quel(s) nom(s) distant(s) renvoie(nt) à cette URL :

$ git remote -v
origin  git@github.com:someuser/someproject.git

Ensuite, définissez la nouvelle URL

$ git remote set-url origin git@github.com:someuser/newprojectname.git

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

$ git remote rm origin
$ git remote add origin git@github.com:someuser/newprojectname.git

( origin est le nom distant le plus courant, mais il peut s'appeler autrement).

Mais si de nombreuses personnes travaillent sur votre projet, elles devront toutes suivre les étapes ci-dessus, et peut-être ne savez-vous même pas comment les contacter toutes pour leur dire. C'est le but du numéro 1.

Pour en savoir plus :

Notes de bas de page :

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

0 votes

Merci pour votre réponse ! Pour le numéro 1, je n'ai pas de pages web qui renvoient vers le dépôt. Je suis donc en sécurité ? Pour le point 2, que se passe-t-il exactement ? Merci !

0 votes

J'ai ajouté plus d'informations sur les télécommandes qui devraient vous aider.

1 votes

Mon résultat pour git remote -v est sous la forme git@github.com:someuser la barre oblique que vous avez mise ici n'a pas fonctionné pour moi. Tout le reste a fonctionné, par contre.

173voto

VonC Points 414372

Notez que depuis mai 2013 (" Les redirections de dépôts sont là ! "), vous pouvez renommer votre repo GitHub sans rompre aucun lien :

Nous sommes heureux d'annoncer qu'à partir d'aujourd'hui, nous redirigerons automatiquement toutes les demandes concernant les anciens dépôts vers leur nouvel emplacement dans ces circonstances. Il n'y a rien de spécial à faire. Il suffit de renommer le dépôt et nous nous occupons du reste.

En guise de bonus spécial, nous répondrons également à toutes les demandes de clonage, de récupération et de poussée de Git provenant des dépôts précédents .

Cela signifie que vous n'avez même pas à git remote set-url (changez l'url de votre repo GitHub distant) sur votre repo local cloné !
Bien que Gabriel notes dans les commentaires que le page d'aide officielle de GitHub vous recommande vivement de le faire :

Pour réduire la confusion, nous recommandons fortement de mettre à jour tous les clones locaux existants pour qu'ils pointent 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 toutefois :

Pages GitHub ne sont pas automatiquement redirigés lorsque leurs référentiels sont renommés pour le moment.
Renommer un Dépôt de pages continuera à briser tous les liens existants vers le contenu hébergé sur le site de la Commission européenne. github.io ou des domaines personnalisés.

Plus, l'utilisateur possède toujours l'espace de nom : s'il/elle crée un nouveau en utilisant l'ancien nom du repo renommé, cette redirection (pour ledit repo renommé) cessera de fonctionner.

6 votes

C'est vraiment utile, mais j'étais initialement très confus lorsque le renommage n'a pas interrompu mon ancienne activité de push/pull. Maintenant, je peux changer le nom immédiatement et faire savoir à tous les autres qu'ils doivent mettre à jour leurs dépôts en utilisant la méthode suivante set-url avant une certaine date. Après cette date, je smash le repo de l'ancien nom en créant un repo vierge avec un joli fichier readme "I WARNED U".

0 votes

Notez que même si vous n'avez pas doivent utiliser git remote set-url pour mettre à jour un clone local existant afin qu'il pointe vers la nouvelle URL du référentiel, c'est fortement recommandé que vous faites.

98voto

pollux1er Points 119

Je renomme les miens en les appelant simplement :

  1. en allant sur 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. Changez le nom actuel et mettez le nouveau nom que vous voulez donner à votre dépôt
  5. Cliquez sur le bouton "Renommer".

Après cette étape, GitHub s'assurera que votre dépôt en ligne correspond au nom de votre dossier local. À cette étape, votre problème est résolu, à moins que vous ne souhaitiez également renommer votre dossier local. Dans ce cas, faites-le manuellement et utilisez simplement le client Github pour Windows pour retrouver votre dépôt sur votre disque dur, et GitHub le fera correspondre à nouveau. C'est tout ! C'est très simple.

4 votes

Il est étonnant de constater que non seulement les réponses votées ici mais aussi les pages d'aide sur github.com éludent l'étape de renommage sur github.com via l'onglet paramètres.

1 votes

La meilleure et la plus simple des réponses

10voto

JonnyJD Points 1100

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


La raison pour laquelle cet avertissement est présent est que le numéro 1 ne peut pas être fait manuellement.

Si vous êtes la seule personne à travailler sur le dépôt et à établir des liens avec celui-ci, vous pouvez modifier la télécommande dans votre dépôt local et dans vos pages Web.

Cependant, la raison d'avoir un dépôt public sur github en premier lieu est que vous pouvez avoir d'autres personnes clonant votre dépôt et faisant un lien vers votre page de projet github.


L'ancienne url github.com/<username>/<repository> est la propriété de Github. S'ils ne mettent pas en place de redirections vers la nouvelle url, personne ne peut le faire. Donc les choses vont se briser pour tout le monde sauf pour les personnes à qui vous le dites.

L'ampleur du problème dépend de vous. Si vous avez une page officielle du projet sur un serveur différent, 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, alors vous ne devriez probablement pas changer le nom du repo.


Une alternative au changement de nom du dépôt est de créer un nouveau dépôt et de laisser des notes dans l'ancien dépôt (également sous forme de commits dans le dépôt) sur la façon d'atteindre votre nouveau dépôt.

Si vous ne voulez pas que votre nouveau dépôt soit listé comme un fork de votre ancien dépôt, vous devez créer un nouveau compte github. Vous pouvez ajouter votre autre compte comme collaborateur pour les deux dépôts.

6voto

Neil Best Points 326

Il est intéressant de noter que si vous bifurquez un projet GitHub et renommez ensuite la copie nouvellement créée, le nouveau nom apparaît dans le graphe du réseau de membres du projet parent. La relation complémentaire est également préservée. Cela devrait permettre de lever toutes les réserves associées au premier point de la question initiale concernant les redirections, c'est-à-dire que vous pouvez toujours vous rendre ici à partir de là, pour ainsi dire. J'ai moi aussi hésité en raison de l'irrévocabilité impliquée par l'avertissement, et j'espère que cela évitera à d'autres d'attendre.

0 votes

Vous ne pouvez pas bifurquer votre propre projet sur github. Vous devez donc utiliser un autre compte, mais cela pourrait fonctionner.

0 votes

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.

0 votes

Vous pouvez créer un nouveau référentiel vide. Cloner l'ancien référentiel. Ajouter une référence distante à votre nouveau référentiel. Et ensuite pousser les branches que vous voulez vers le nouveau dépôt (par exemple master). Je suppose que ce serait une bifurcation partielle.

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