web-dev-qa-db-fra.com

Comment puis-je changer le projet GitHub à partir duquel je suis parti?

J'ai bifurqué un projet, apporté quelques modifications et obtenu une demande de tirage acceptée. Mais maintenant, le projet que j'ai forké a été déplacé vers un autre référentiel et est un fork de ce référentiel.

C'est:

Original -> MyFork

À présent:

NewOriginal -> Original -> MyFork

Comment pourrais-je obtenir ce qui suit?

NewOriginal -> MyFork
73

Localement, vous pouvez simplement modifier la cible du référentiel d'origine se trouve à. Habituellement, ce référentiel est appelé en amont , vous feriez donc ceci:

git remote set-url upstream git://example.com/NewOriginal.git

Selon l'hôte que vous utilisez (c'est-à-dire où se trouve votre fork), il peut y avoir des liens internes supplémentaires, vous ne pouvez pas changer si facilement. Par exemple sur Github, le fork est directement lié à l'original à partir duquel vous avez forké. Dans ce cas, vous devez à nouveau fourcher le nouveau projet et travailler avec la nouvelle fourche.

Dans ce cas, cependant, vous pouvez facilement modifier le URL du dépôt d'origine comme bien, et poussez tout ce que vous avez changé auparavant dans votre ancienne fourche dans votre nouvelle fourche.

56
poke

[~ # ~] note [~ # ~] : La solution suivante est incomplète car vous perdrez tout le contenu wiki et les problèmes spécifiques à votre fork.

Vous pouvez y parvenir en utilisant les étapes suivantes:

  1. Tirez toutes les branches et balises de votre fourche existante.
  2. Supprimez votre référentiel sur GitHub.
  3. Fork du nouveau référentiel.
  4. Mettez à jour la télécommande URL si nécessaire.
  5. Poussez toutes vos branches et balises locales dans le nouveau référentiel.
62
Castrohenge

Mettez à jour la télécommande URL dans votre référentiel:

git remote set-url Origin <url to NewOriginal, e.g. git://…/bla.git>
9
knittl

En supposant que vous avez effectué le forking approprié et en ajoutant en amont voir githubHelpOnFork ; pour simplement changer l'URL en amont, faites:

  1. vérifiez à quoi ressemblent votre amont et votre origine actuels:

    git remote -v
    
  2. si vous voyez en amont répertorié et que vous voulez simplement changer son URL, faites ce que @poke a suggéré (sinon suivez le lien helpGithub ci-dessus pour ajouter un nouveau en amont):

    git remote set-url upstream git://example.com/NewOriginal.git
    
  3. puis vérifiez que l'amont pointe vers la nouvelle URL

    git remote -v

2
user2651178