294 votes

La différence entre l'auteur et le commiter dans Git?

Je suis en train de faire un commit comme

git commit --author="John Doe <john@doe.com>" -m "<the usual commit message>"

où John Doe est à l'utilisateur au nom duquel je veux faire de la commettre.

Il semble tout à droite, en git log. Cependant, quand je fais un gitk, le nom de l'auteur est correct, mais le livreur nom est choisi à partir de mes git config paramètres (et donc de la valeur mon nom/e-mail).

Questions

  1. Quelle est la différence entre les deux (à valider vs auteur)?

  2. Dois-je mettre le livreur ainsi les autres utilisateurs?

  3. Si oui, comment?

269voto

Cupcake Points 22154

Le posteur d'origine, il demande:

Quelle est la différence entre les deux (à Valider vs auteur)?

L'auteur est la personne qui a écrit le code. Le livreur, d'autre part, il est supposé être la personne qui a commis le code sur le nom de l'auteur original. Ce qui est important dans Git parce que Git permet de réécrire l'histoire, ou d'appliquer des correctifs au nom d'une autre personne. La GRATUIT online Pro Git livre explique de cette façon:

Vous demandez peut-être quelle est la différence entre auteur et à valider. L' auteur est la personne qui a écrit le patch, alors que le livreur est la dernière personne qui a appliqué le patch. Donc, si vous envoyez un patch à un projet et l'un des principaux membres d'appliquer le correctif logiciel, à la fois de vous obtenir un crédit - vous que l'auteur et le participant essentiel que le livreur.

Le posteur d'origine, il demande:

Dois-je mettre le livreur ainsi les autres utilisateurs?

Non, si vous voulez être honnête, vous ne devriez pas être le livreur de l'auteur, sauf si l'auteur et le livreur sont bien de la même personne.

114voto

Ciro Santilli Points 3341

Un cas important où le livreur et auteur diffèrent, c'est dans les projets où les taches sont:

  • généré par git format-patch
  • envoyé par e-mail
  • appliquée par une autre personne avec git am

la génération d'un nouveau commit avec différents auteur et à valider.

Cela ne se produit pas sur les interfaces Web comme GitHub et GitLab, qui détiennent à la fois l'amont et à la fourche des référentiels sur la même machine, et d'appliquer les patchs en forçant Git pour faire un nouveau commit avec git merge --no-ff sur le nom du livreur, même si l'avance rapide est possible. Ce produit deux commits par pull request:

  • l'original par l'auteur
  • la fusion de commettre l'un par le livreur

les deux avec le même auteur et à valider.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X