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.
É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).