Transférer le repo en github

Je travaille sur un petit projet avec gist et comme il grandit je voudrais le mettre sur github.

Supposons que:

  • mon repo est à: https://gist.github.com/1234
  • mon nouveau repo (vide) est à: https://github.com/ChrisJamesC/myNewProject

La solution idéale serait celle qui repousse mes modifications à la fois sur le gist et sur le repository github.

Github a maintenant une nouvelle fonctionnalité: importer depuis un autre référentiel. Les étapes sont donc beaucoup simplifiées:

  1. Créer un nouveau référentiel vierge
  2. Utilisez la fonctionnalité d’importation et spécifiez l’URL du référentiel.
  3. Profit!

Mettre à jour:

Vous n’avez pas besoin de créer un repo. Le bouton + dans le coin supérieur droit contient désormais l’option ” Import Repository “.

capture d'écran de github

Vous pouvez append le repository github en tant que télécommande à votre référentiel gist extrait.

git clone git@gist.github.com:1234.git git remote add github git@github.com:ChrisJamesC/myNewProject.git 

Poussez-le pour initialiser le git sur github

 git push -u github master 

Si votre repo github n’était pas tout à fait vide (vous l’avez créé avec un README, une licence, etc. que vous ne craignez pas de perdre), vous devrez effectuer un écrasement forcé sur votre push.

 git push -f -u github master 

Si vous ne souhaitez pas perdre les commits et fichiers existants, consultez la page https://stackoverflow.com/a/40408059/117471.

Cela changera aussi l’amont de la twig, donc github sera par défaut.

Vous pouvez maintenant renommer la télécommande de Gist:

 git remote rename origin gist 

Chaque fois que vous apportez des modifications (ou tirez des modifications de github / gist), vous pouvez faire:

 git push # To github git push gist master # To gist 

Cela va également repousser vos modifications à l’essentiel et pas seulement le repo github.

Clonez le gist (par exemple, git clone git://gist.github.com/123.git ) sur votre disque dur local, puis définissez la nouvelle URL d’ origin (par exemple, git remote set-url origin https://github.com/ChrisJamesC/myNewProject ). Poussez vers le nouveau référentiel ( git push origin master ). Bonne chance!

Désolé pour avoir secoué une vieille question, et que je ne peux pas commenter , mais dans la seconde étape donnée par gzm0, vous devrez peut-être utiliser –force, c.-à-d.

 git push -f -u github master 

C’était peut-être parce qu’il y avait un fichier README dans le repository Github, mais je suppose que d’autres pourraient le rencontrer aussi.

Vous pouvez cloner le gist localement.

Ajoutez le repository github en tant que nouvelle télécommande.

Poussez votre repository local vers la nouvelle télécommande github.

Supprimez tous les fichiers de votre liste mais le fichier README.md. dans ce fichier, vous pouvez écrire un indice que le fichier principal a été déplacé vers un nouveau repository

Ma révision de la réponse acceptée devenait longue, alors j’ai créé une réponse séparée pour la retenir.

Si votre repository n’est pas vide et que vous ne voulez pas perdre les commits et fichiers existants, la réponse acceptée ne vous concerne pas. Vous devrez soit:

  1. Si vous ne vous souciez pas de l’historique des commits de l’essentiel …
    • Copier les fichiers sur, git add , git commit
  2. Si vous voulez garder l’historique de validation de l’essentiel …
    • Utilisez git cherry-pick ou format-patch qui est hors de la scope de cette réponse. Voir Est-il possible de choisir un commit depuis un autre repository git?