web-dev-qa-db-fra.com

Comment puis-je bifurquer le dépôt d'origine alors que j'ai déjà bifurqué une fourchette différente

J'ai déjà bifurqué jockm/vert.x et lui ai envoyé une demande de pull. Maintenant, je veux bifurquer vert-x/vert.x (en amont de jockm/vert.x) et leur envoyer une demande de pull différente. Mais quand je clique sur le bouton Fork, sans surprise, je me retrouve dans ma fourche tjcrowder/vert.x de jockm/vert.x à la place. Est-il possible de bifurquer simultanément à la fois vert-x/vert.x et jockm/vert.x de sorte que je puisse envoyer chaque demande de tirage selon le cas?

Je crains que la réponse ne soit la même que pour cette question sur la situation inverse ("il n'y a pas de voie GitHub, mais vous pouvez ajouter un dépôt à distance") mais j'espère le contraire - notamment parce que je Je ne vois pas comment la réponse me permettrait d'envoyer des demandes d'extraction à la nouvelle télécommande.

58
T.J. Crowder

Il n'y a pas de voie GitHub (petit mensonge, voir ci-dessous), mais il n'y a rien à craindre.

Par définition, votre fourche d'une fourchette est une fourche de l'original. Lorsque vous ouvrez une demande de tirage, vous avez la possibilité de choisir à la fois l'origine et la destination de votre demande de tirage. Les choix qui y sont disponibles dépendent évidemment du graphique de fork, mais tant qu'il y a un chemin dans le graphique entre les 2 dépôts, vous devriez être en sécurité. De plus, étant donné que les demandes d'extraction sont en direct du côté du site Web, vous n'avez même pas besoin d'ajouter une télécommande tant que vous ne voulez pas l'utiliser depuis git.

Maintenant, bien sûr, vous voudrez peut-être reconsidérer votre place dans ce graphique et vous faire un enfant direct du réel en amont, mais ce n'est généralement pas lié.

Comme indiqué précédemment, il existe en fait un moyen tordu d'avoir plusieurs fourches, qui consiste à créer des organisations et à les créer. De cette façon, vous pouvez "posséder" plusieurs référentiels dans le même graphique. Mais il n'y a vraiment pas besoin d'y aller.

30
Sigma

Grâce à réponse de sigma , j'ai vu que non seulement le dépôt en amont est disponible lorsque je vais faire une demande d'extraction sur le dépôt jockm/vert.x, mais que toutes les autres fourches du dépôt en amont le sont également . J'ai donc fini par faire:

  1. Supprimer ma fourchette de jockm/vert.x et à la place bifurquer vert-x/vert.x, car la plupart du temps je veux travailler dans le repo en amont principal, pas dans la version de jockm.
  2. Créer une branche pour le commit que je voulais envoyer à jockm, et une branche séparée pour le commit que je voulais envoyer à vert-x.
  3. Apporter les modifications pertinentes à chaque branche.
  4. Envoi de demandes d'extraction pour chaque branche aux référentiels concernés, car le dépôt jockm/vert.x est répertorié comme une cible possible pour la demande (avec environ 200 autres fourches).

J'ai utilisé des branches distinctes (essentiellement des branches de sujet) afin que ces validations restent la seule chose dans ces demandes d'extraction, car les validations ultérieures sur la même branche sont automatiquement ajoutées à la demande d'extraction, et ces modifications devaient rester isolées jusqu'à/à moins qu'elles ne soient fusionnées.

13
T.J. Crowder

Il semble que la meilleure option serait de créer une branche sur votre fork et de créer une demande de tirage à partir de cette branche. Vous pouvez utiliser des branches pour "bifurquer" votre version

5
Dan McClain

Vous pouvez également simplement créer une nouvelle organisation sous votre profil/paramètres. Ensuite, vous pouvez bifurquer différents états du même dépôt d'origine via le même compte.

1
whithang

Je n'ai pas vu de détails sur "plusieurs fourches", donc je finirais probablement par créer un autre compte GitHub, sous lequel je ferais le deuxième clone, et enverrais la demande de tirage différente à vert.x/vert.x.

Puisque vous pouvez avoir " plusieurs comptes github sur le même ordinateur " (avec le bon fichier de configuration ssh , aussi décrit ici ), c'est un solution de contournement possible.

0
VonC