Je vois ceci sur ce dépôt GitHub :
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"?
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
_
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.