-1
votes

Git fusionner avec le flux principal et modifier ma propre version en même temps

Je trouve un système open source qu'il contient 80% des fonctions dont j'ai besoin. Je veux le cloner et ajouter les fonctions restantes. Comme ces fonctions sont très spécifiques et que la source ouverte ne maintient que par le propriétaire, je n'engagerai pas mon code. Puis-je faire ce qui suit et comment

  1. Je clonage la version existante, puis je continue à éditer le code source.
  2. Lorsqu'il y a une mise à jour dans ce système, je reçois cette mise à jour et fusionner à mon code source
  3. Bien sûr, toutes choses font à Github

0 commentaires

3 Réponses :


0
votes

Oui, même si vous voudrez peut-être rendre les choses encore plus simples et commencer par Forking em> l'original (supposant que l'original est déjà sur Github). Cela formera directement votre propre repo sur Github, et vous pouvez désormais cloner cela à votre ordinateur et commencer à jouer.

La chose à réaliser est simplement que le repo sur votre ordinateur est autorisé à parler à plus d'une télécommande / em> (les repos sur github). Ainsi, il n'y a aucune raison pour que vous ne puissiez pas pousser commet votre repo sur Github, puis se tourner vers l'original et demander à aller chercher quelque chose de nouveau, il peut avoir à offrir. Toute poussée ou extraction / traction est autorisée à spécifier ce que la télécommande est censée parler. Après une fourchette, l'original est généralement nommé en amont code> pendant que votre fourchette sur GitHub est généralement appelé origine code>, mais ce ne sont que des conventions. P>

the way Travaux est que, en plus de la succursale (ES), vous pouvez voir directement, vous avez des "branches distantes" que "piste" (sont configurées pour correspondre à) des branches du même nom à Github sur un référentiel isolé sur un certain référentiel à distance. Donc, par exemple, si vous avez une branche maître code>, vous avez également une "branche distante" appelée origine / maître code> correspondant à maître code> sur le repo à GitHub que vous avez cloné de l'origine. P>

Eh bien, différentes télécommandes ont différentes branches distantes de votre machine, de sorte que votre copie de Git ne se confuse jamais de l'endroit où des trucs proviennent et qui devraient parler. Rien ne sera jamais trompé sur quelque chose accidentellement (surtout si vous vous confinez à dire extraire code> et ne dites pas tirez code>). P>

Pour illustrer, je ' ll commencer par cloner ma propre fourchette de quelqu'un d'autre de quelqu'un d'autre repo: p> xxx pré>

Je vais maintenant passer à la repo originale que mon représentant a été fourchu et la transformer en une télécommande Pour le repo ici sur mon ordinateur (cela devrait effectivement être tout sur une ligne): P>

humlet:Animate-body matt$ git branch --list --all
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/fix
  remotes/origin/master
  remotes/upstream/master


0 commentaires

0
votes

à 1.: git clone ( https://git-scm.com/book/fr/v2/git-basics-geting-a-git-Repository )

à 2.: Renommez-vous simplement la télécommande d'origine de Origine à Oldorigin et tirez à partir de celui-ci lorsqu'une mise à jour se produit dans le référentiel d'origine (en utilisant git pull-the Oldorigin )

Je ne comprends pas votre question 3. Mais ... si vous voulez dire que vous souhaitez héberger votre référentiel sur GitHub, puis pour les autres comme les autres suggéraient ou créez votre propre repo. En tout cas, vous devriez vous retrouver avec un seul référentiel et deux télécommandes.


0 commentaires

0
votes

Oui.
1- Vous êtes d'abord pour la fourche le référentiel, qui signifie que vous aurez votre copie de ce repo sur votre Github.

2- Clonez votre propre repo (celui fraîchement fourchu) sur votre machine et commencez à travailler.

3- Votre repo serait probablement "origine" (nom de votre repo à distance), alors qu'il y aura "en amont". Chaque fois qu'ils ont un changement, vous pouvez tirer de leur repo sur votre machine locale, puis vous appuyez sur votre repo.

Mais méfiez-vous, il pourrait y avoir un conflit de temps en temps car l'historique de validation ne sera pas identique.


0 commentaires