Je ne suis pas programmeur de profession, mais je code et utilise github. J'ai rencontré ce que je trouve être une situation surprenante. Je suis très familier avec git.
Il y a un projet pour lequel j'ai trouvé un (petit) bug qui me concernait. J'ai passé un après-midi à le trouver et à le réparer. J'ai créé le référentiel, validé la modification et émis une demande d'extraction. Après avoir constaté qu'il était fermé alors que "fusionné dans une branche de développement", je compris que tout allait bien.
Aujourd'hui, je parcourais le référentiel en train de préparer le retrait de ma branche et je ne trouve pas du tout où le commit a été fusionné dans le référentiel du responsable. Après un certain temps, je réalise que cela a été ajouté en tant que commit, mais l'auteur n'est plus moi.
Autant que je sache, la seule façon de le faire serait d'utiliser spécifiquement une réécriture d'historique, de modification ou autre pour supprimer l'auteur d'origine.
Cela me semble très faux. Au mieux, c'est déroutant, au pire, l'auteur de ce référentiel prend le crédit pour les engagements de tous, puis l'historique du contributeur original est perdu. Encore une fois, c'est un petit bug, je ne l'utilise pas pour mon CV professionnel, cela semble simplement malhonnête.
Est-ce normal? Dois-je en dire quelque chose?
Edit: Le sentiment général semble être que je devrais aller demander, alors je vais le faire ce matin.
Selon la demande ci-dessous. J'ai vérifié et mon code existe et a été appliqué exactement tel que je l'ai écrit (y compris le commentaire). J'ai vérifié que l'auteur et l'auteur avaient été changés. Un changement supplémentaire a également été ajouté en même temps que mes changements. C'est une seule ligne, ce qui affecterait le patch ainsi que le code précédent. IE l'ajout d'une ligne n'est pas lié au bogue que je corrigeais.
Mise à jour Il semble que la réponse soit que l'auteur gère une branche de développement et ne souhaite pas y fusionner depuis sa branche principale. Il a ré-écrit mon engagement pour éviter une fusion. Je n'étais pas préoccupé par le fait que la branche d'origine soit très puissante, car elle permet de sélectionner, de réorganiser et de fusionner les commits au besoin.
Est-ce typique sur github?
Devrais-je contacter le responsable d'un projet pour demander à quelle branche appliquer les correctifs?
Réponses:
Non, ils ne devraient pas, si évitables. C'est un problème qui, selon mon expérience, arrive trop souvent. Cependant, j'estime qu'il s'agit davantage d'une méconnaissance de l'utilisation correcte de git que d'une personne qui cherche à voler du crédit.
git rebase master
. S'il y a des conflits, ils peuvent choisir de les résoudre eux-mêmes (sans changer d'auteur) ou vous donner la possibilité de les résoudre.Je pense que Github pourrait et devrait rechercher ce type de vol accidentel de crédits et informer les responsables de la maintenance des meilleures pratiques, le cas échéant.
la source
Vous avez omis certains détails clés ici.
Si la façon dont vous avez "corrigé" le bogue n’a pas plu aux responsables, ou même qu’elle a introduit ses propres bogues, le responsable aurait peut-être dû modifier votre travail avant de le valider. Dans ce cas, il est compréhensible de changer l'auteur.
Comme d'autres l'ont mentionné, l' auteur est assez différent du committer . Comme vous le savez peut-être déjà, l'auteur est celui qui a réellement créé le commit, tandis que le committer serait celui qui l'appliquerait.
Vous devriez examiner de près le commit et mettre à jour votre question avec vos conclusions.
la source
Il semble que la réponse a été que l'auteur conserve une branche de développement et ne souhaite pas y fusionner de sa branche principale. Il a ré-écrit mon engagement pour éviter une fusion.
la source
git cherry-pick
.Pour répondre à votre question mise à jour:
Il est difficile de dire ce qui est typique de github, au-delà de dire que chaque projet est typiquement différent et que chacun a son propre processus préféré. Généralement, la meilleure approche avant d’envoyer une demande d’extraction consiste à demander quel est leur flux de travail ou à essayer de voir si vous pouvez le savoir en vous basant sur les demandes d’extraction fermées précédentes.
D'après mon expérience personnelle, si vous ne posez pas de question, généralement, au mieux, ils clôtureront la demande de tirage sans commentaire (dans le pire des cas) ou laisseront un commentaire expliquant la procédure à suivre pour vous demander de mettre à jour votre demande de tirage. Je dirai que la façon dont le responsable dans votre cas a réagi semble étrange, mais que cela a peut-être été la voie de la moindre résistance. Je doute que cela ait été intentionnellement destiné à voler du crédit.
Je suggérerais que vous demandiez au responsable d'ajouter une documentation expliquant comment il souhaite recevoir les demandes de tirage et contre quelle branche pour éviter la confusion et le manque de crédit à l'avenir. Je souhaite que davantage de projets fournissent cette documentation, car je pense que cela inciterait davantage les gens à participer au projet.
la source