Chez mon employeur actuel, nous utilisons un projet open source hébergé sur Github en tant que composant de notre application. J'ai travaillé sur ce projet à la fois pour ajouter certaines fonctionnalités dont nous avons besoin et pour l'intégrer à nos systèmes de construction. Mon manager et moi sommes d'accord pour dire que nous aimerions soumettre autant de travail que possible sur ce composant au projet open source. Ma question est de savoir quel est le meilleur workflow / technique pour maintenir mes validations Git de manière à ce que je puisse facilement séparer les choses qui ont du sens à ajouter au projet open source - corrections de bugs et nouvelles fonctionnalités suffisamment générales - à partir d'éléments spécifiques à notre projet, comme les emplacements de génération et les constantes d'application.
Ce que j'ai fait jusqu'à présent, c'est de maintenir une branche Git privée où je valide toutes mes modifications, avec la granularité appropriée. J'utilise ensuite cherry-pick
pour ajouter les commits open-sourceable à la branche principale et les renvoyer à Github.
Il semble que je devrais utiliser la fusion pour ce faire, afin de ne pas continuer à créer des validations distinctes avec un contenu identique, mais je ne sais pas comment le faire tout en excluant les validations spécifiques à l'entreprise et en gardant un flux de travail raisonnable.
Par exemple, je suppose que je pourrais valider des choses open-sourcable sur le maître et des choses spécifiques à l'entreprise sur la branche privée, puis fusionner le maître dans cette branche au besoin, en laissant la branche principale pointant sur la validation avant la fusion, de sorte que je puisse y engager à nouveau des éléments open source, puis fusionner à nouveau. Ce qui semble gênant dans ce flux de travail, c'est que je devrais décider à l'avance de tout ce que je fais sur la branche à laquelle il appartenait, travailler sur ce qui semblait être terminé, puis le valider et fusionner avant de tester. L'une des choses que j'aime vraiment à propos de Git est la facilité avec laquelle il suffit de faire tout ce dont vous avez besoin pour faire fonctionner votre application, puis de décider plus tard comment et où valider vos modifications. Pour autant que je sache, si vous êtes actuellement dans une succursale et que vous avez du travail, il '
Ce que je fais est-il un flux de travail raisonnable pour les contributions à long terme? Quelqu'un peut-il recommander un flux de travail différent qui pourrait être meilleur, et pourquoi est-il meilleur?