Je suis en train de tout convertir à Git pour mon usage personnel et j'ai trouvé d'anciennes versions d'un fichier déjà dans le dépôt. Comment puis-je le commiter dans l'historique dans l'ordre correct selon la "date de modification" du fichier afin d'avoir un historique précis du fichier ?
On m'a dit que quelque chose comme ça marcherait :
git filter-branch --env-filter="GIT_AUTHOR_DATE=... --index-filter "git commit path/to/file --date " --tag-name-filter cat -- --all
1 votes
Réponses courtes et simples : stackoverflow.com/a/34639957/2708266
58 votes
Je me demande si les personnes qui cherchent la réponse à cette question veulent simplement maintenir leur "série de contributions" sur GitHub de cette façon.
10 votes
@ZitRo oui. Et il suffit de mettre
git commit --date="xxx day ago" -m "yyy"
est suffisant à cet effet si quelqu'un se pose la question.1 votes
alexpeattie.com/blog/working-with-dates-in-git : si vous cherchez une explication douce
6 votes
@ZitRo une meilleure utilisation de ceci est de faire en sorte que tous vos commits sur un projet personnel aient lieu le week-end. Juste au cas où un employeur voudrait réclamer votre travail, CYA.
0 votes
@VlasSokolov Je viens d'essayer ce que vous avez suggéré, et il définit la date et l'heure correctes localement, mais lorsque je pousse vers GitHub, il y a l'heure réelle de la livraison.
0 votes
@RichCourt intéressant, cela a fonctionné pour moi avant. Se pourrait-il qu'ils aient changé quelque chose de leur côté ?
0 votes
@VlasSokolov Oui, je suppose qu'ils ont dû le faire. Pour autant que je puisse dire, ils montrent maintenant l'heure à laquelle le commit wash a été poussé. C'est type de est logique, car c'est l'heure à laquelle il a été commité dans la branche master sur Origin. Du moins, je suppose que c'est leur logique. Cela n'aide pas les personnes qui veulent une heure spécifique affichée, et n'est pas non plus très utile si vous créez un tas de commits sans pousser pendant un certain temps, ou si vous essayez de faire correspondre les commits de la branche master avec ceux de la branche d'origine.
git log
avec ce que vous voyez sur GitHub.0 votes
@RichCourt vient de faire un test à ce sujet, s'engageant avec
--date="1 day ago"
a fonctionné comme je l'avais suggéré à l'origine pour les besoins de la vue "carrés verts" de GitHub. Donc, le conseil précédent est toujours valable, je suppose.