Je suis nouveau sur GitHub et VCS en général. Je programme en plusieurs langues depuis des années, mais j'ai toujours travaillé en solo sur des projets personnalisés (pas de sorties publiques). J'ai récemment commencé à utiliser un widget jQuery UI que j'ai téléchargé depuis GitHub dans un projet sur lequel je travaille. Le dépôt n'est plus conservé par l'auteur d'origine. Une autre fourche a incorporé certaines des demandes de tirage d'origine. C'est celui dont j'ai bifurqué.
J'ai trouvé quelques bugs et ai trouvé les correctifs pour eux. J'aimerais apporter ces correctifs, mais j'ai également beaucoup d'autres changements que je veux apporter, pour notre propre usage, qui vont casser certaines des fonctionnalités existantes. De plus, j'aimerais incorporer une idée d'une autre fourchette.
J'apprends toujours GIT et GitHub et j'essaie de trouver la meilleure façon de tout faire. J'ai fait beaucoup de lecture (ici, SO, pages d'aide GitHub, Pro Git) sur différents concepts / tâches: workflows, fusion, demandes de tirage, sélection de cerise, rebasage, branchement. Ma matière grise nage et je dois commencer à le faire pour mieux comprendre ce que j'ai lu.
Problèmes principaux:
Je pense avoir lu (quelque part) que vous ne pouvez avoir qu'une seule demande d'extraction sur une branche à la fois. Cela signifie-t-il que je devrais avoir une branche distincte pour chaque bogue, puis faire une demande de tirage distincte pour chacun?
Je veux nettoyer les problèmes d'espaces blancs et je me souviens avoir lu qu'il est préférable de le faire dans un commit séparé. Dois-je le faire dans mon maître ou dans une succursale distincte? Je ne veux pas faire de pull request pour quelque chose d'aussi trivial , mais si je fais des changements d'espaces avant de créer une branche, cela affectera-t-il la pull request pour les corrections de bugs? Certaines fourches ont nettoyé les espaces blancs et cela a rendu le diff assez inutile.
Je pensais créer des problèmes contre ma fourchette comme un moyen de documenter les bogues même si j'ai déjà le correctif pour eux. est-ce une bonne idée? Comment puis-je relier le problème, la validation et la fusion à maîtriser? Si je fais une demande d'extraction en amont, mon problème apparaîtra-t-il également en amont ou ce lien de documentation sera-t-il perdu? Je ne peux pas ouvrir un problème avec le dépôt en amont (il n'y a pas d'onglet de problème).
Quelle est la meilleure façon de donner du crédit à l'autre auteur de fork pour l'idée que je veux utiliser? Je ne peux pas utiliser son code exactement, d'autant plus que sa modification s'applique à une ancienne version de l'amont et n'est pas compatible avec mes autres modifications telles quelles. Mais je veux utiliser l'idée et je veux donner du crédit là où le crédit est dû. Dois-je simplement créer un lien vers son référentiel (ou profil ou commit spécifique) dans mon message de commit?
Quelle est l'étiquette concernant la modification du fichier Lisez-moi et du DocBlock en haut du fichier principal? Est-ce correct de faire des changements, d'ajouter mon nom, d'ajouter des liens vers mon repo et ma démo, de supprimer des liens vers la démo d'origine (puisque ma fourchette finira par être incompatible avec l'original)? Bien sûr, je vais laisser le nom de l'auteur d'origine et les informations de licence. Pour mémoire, il est sous licence MIT.
En tant que développeur solo qui n'a jamais utilisé VCS, je suis habitué à réécrire l'histoire . Je suis perfectionniste et j'aime que les choses soient propres et bien rangées. L'idée de l'histoire enregistrée me rend un peu nerveux et je veux le faire correctement la première fois . J'ai créé un nouveau dépôt pour jouer / apprendre, mais je suis impatient de continuer à corriger le widget jQuery UI afin de pouvoir poursuivre mon projet.