web-dev-qa-db-fra.com

Que signifie "écrit il y a 7 jours; engagé il y a 14 heures" sur GitHub?

Je vois ceci sur ce dépôt GitHub :

enter image description here

Qu'est-ce que ça veut dire? Comment quelque chose peut-il être "créé il y a 7 jours" et pourtant "commis il y a 14 heures"?

21
Undo

Git a un concept distinct de l'auteur (la personne qui a écrit le code) et du committer (la personne qui l'a commis dans le référentiel). De même, il peut y avoir différentes dates pour les deux. Ils sont généralement les mêmes.

Vous voudriez qu'ils soient différents principalement si la personne qui écrit le code ou soumet le correctif n'a pas d'accès Push au référentiel comme dans les projets utilisant des listes de diffusion pour la soumission de correctifs. Dans ce cas, la personne ayant un accès Push doit appliquer le correctif et exécuter git commit_ AVEC LES COMMUTATEURS _--author_ ET _--date ou à l'aide des commandes GIT_AUTHOR_NAME, GIT_AUTHOR_EMAIL et GIT_AUTHOR_DATE. variables d'environnement (documentées dans git-commit-tree .

L'autre cas utilise git cherry-pick ou git rebase. Le committer est la personne qui fait la sélection, et l'auteur est l'auteur du commit original. Git se chargera de définir l'identité de l'auteur et la date.

Vous pouvez voir ces informations dans le référentiel avec _git log --pretty=fuller_.

_commit 21550561941b078ea1862b882ec89f26696ff5bb (HEAD, Origin/master, Origin/HEAD, master)
Author:     thiagopnts <[email protected]>
AuthorDate: Tue Nov 18 14:52:49 2014 -0200
Commit:     Thiago Pontes <[email protected]>
CommitDate: Tue Nov 25 09:46:58 2014 -0200

    open repository url if confirmed, closes #1
_
21
Schwern

Cela ressemble à un mélange entre la façon dont Git fonctionne avec les dates et la façon dont il a été référencé avec mots-clés de fermeture de GitHub .

Git sépare les dates de commit et d'auteur. Dans Pro Git ils vont un peu dans la différence :

L'auteur est la personne qui a écrit le travail à l'origine, alors que l'auteur est la dernière personne qui a appliqué le travail. Ainsi, si vous envoyez un correctif à un projet et que l'un des membres principaux l'applique, vous obtenez tous les deux un crédit: vous en tant qu'auteur et le membre principal en tant que committer.

Ainsi, bien que le code lui-même ait été validé/écrit "il y a 7 jours" (localement), il n'a pas été appliqué ou corrigé pour le code avant "il y a 14 heures", car il n'était pas visible dans la télécommande jusqu'à ce qu'il soit référencé close message.

6