Projet Forking sur le processus Github


25

Il y a un projet sur Github que j'aime et que je veux surtout utiliser. Il y a quelques choses que je veux faire différemment / supprimer qui n'ont pas de sens pour ce que je veux / besoin. Je voudrais également ajouter quelques éléments.

Si je comprends bien, je devrais bifurquer le projet et je peux apporter les modifications que je veux et repousser à ma fourchette. À partir de là, je souhaite également insérer de temps en temps dans ma fourchette les modifications du projet d'origine afin d'obtenir les dernières corrections de bogues / fonctionnalités.

Suis-je en dehors de la façon dont je pense que cela devrait fonctionner? Comment apporterait les changements par rapport au projet d'origine?


1
Vous pouvez trouver cela utile: stackoverflow.com/questions/3329943/…
Michael Durrant

Réponses:


18

Faites la fourchette, puis faites une branche immédiatement.

Maintenant, vous avez un maître "intact" qui peut être mis à jour lui-même à l'avenir pour obtenir les dernières modifications avec git pulls.

Gardez votre succursale locale sans pousser à distance et vous pouvez rebaseeffectuer les opérations suivantes:

  • enregistrez vos modifications
  • appliquer les dernières modifications du maître à votre branche (celles issues de la mise à jour depuis la télécommande)
  • réappliquez à nouveau vos modifications, en plus du code qui a été mis à jour à partir du maître (ou d'une autre branche d'origine).

Lorsque vous avez enfin terminé avec elle, fusionnez-la à nouveau dans le maître (ou dans la branche d'où provenait la fourche initiale) localement, puis soumettez la demande d'extraction pour que le propriétaire réel la récupère.

C'est un workflow (ou "forkflow") de toute façon, si je comprends bien. D'autres sont invités à commenter ou corriger ou ajouter plus de détails.


3
Cela semble un peu hors sujet. Il aborde le «comment» sans beaucoup d'explications sur ce que vous faites et évite d'entrer dans la question de l'étiquette. Vous pouvez améliorer cela en donnant un aperçu de haut niveau de ce que vous accomplissez et en expliquant pourquoi il est bon de procéder ainsi.
Justin Morgan

10

Vous l'avez essentiellement: une fois que vous créez une fourche, c'est votre propre petit bac à sable.

Je pense que la principale chose à faire est de créer immédiatement une branche après le fork, afin de garder la ligne de développement d'origine distincte de la vôtre. Que vous évoluiez dans cette branche ou en master est en grande partie une question de goût personnel. La seule chose qui m'empêcherait de développer en master est qu'il est trop facile de faire un "git pull" et de se tromper.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.