web-dev-qa-db-fra.com

Git pull depuis un autre dépôt

J'ai un référentiel appelé Generic, qui est une application générique. Je l'ai inséré dans un référentiel appelé Acme, qui repose simplement sur le référentiel d'application stocké Generic et auquel il a ajouté la marque Acme Co.

Si je modifie la fonctionnalité principale de Generic, je souhaite mettre à jour le référentiel Acme avec les dernières modifications apportées à la fonctionnalité principale de Generic. Comment je ferais ça?

Autant que je sache, j'essaie essentiellement de fusionner les modifications apportées dans un référentiel en amont à la fourche actuelle.

Si cela veut dire quelque chose, j'essaie de le faire parce que j'ai une application générique sur laquelle je me suis ensuite basé et que j'ai marqué pour des clients individuels (comme Acme dans cet exemple). S'il y a une façon plus propre de le faire, faites le moi savoir.

77
Libbux

Émettez la commande suivante dans votre repo Acme. Il ajoute un nouveau référentiel distant nommé upstream qui pointe vers le référentiel Generic.

git remote add upstream https://location/of/generic.git

Vous pouvez ensuite fusionner les modifications apportées à Generic dans la branche actuelle dans Acme à l'aide de la commande suivante:

git pull upstream

Si vous souhaitez simplement télécharger les modifications sans les fusionner automatiquement, utilisez git fetch au lieu de git pull.

Si vous souhaitez désactiver le transfert vers ce référentiel, définissez l'URL poussée sur une URL non valide à l'aide de quelque chose comme:

git config remote.upstream.pushurl "NEVER GONNA GIVE YOU UP"

Git va maintenant vous hurler de ne pas pouvoir trouver de repo si vous essayez de Push to upstream (et désolé pour le Rickroll, mais c’était la première chaîne aléatoire qui m’était venue dans la tête).

104
McLovin