Maison > Article > outils de développement > Comment modifier le temps de validation dans git
Dans git, vous pouvez utiliser la commande "git commit --amend" pour modifier l'heure de validation ; cette méthode peut non seulement modifier la date de la soumission la plus récente, mais également modifier la date d'une soumission spécifiée, où le format de la date doit être au format "ISO -8601", la syntaxe est "GIT_COMMITTER_DATE="time" git commit --amend --date="time"".
L'environnement d'exploitation de cet article : système Windows 10, Git version 2.30.0, ordinateur Dell G3.
1 Modifiez la date de l'auteur et la date du demandeur du dernier commit
Si vous souhaitez modifier la date de l'auteur et la date du demandeur du dernier commit, utilisez simplement git commit - -amend
Remarque : Le format de date doit être au format ISO-8601
GIT_COMMITTER_DATE="2017-10-08T09:51:07" git commit --amend --date="2017-10-08T09:51:07"
2 Modifiez la date de l'auteur et la date de l'auteur d'une certaine soumission
Si vous souhaitez changer l'auteur d'une certaine soumission (cela peut. être le plus récent ou non) Date et date de soumission, vous pouvez utiliser le rebase interactif :
Exécutez git rebase -i COMMIT_SHA est le commit sha du commit précédent du commit à modifier
sera affiché dans les informations interactives contextuelles vi. Le choix avant la validation de la date modifiée est modifié en e
Exécutez la commande de modification de date GIT_COMMITTER_DATE="2017-10-08T09:51:07" git. commit --amend --date="2017-10-08T09:51:07 "
Exécutez git rebase --continuez pour passer au prochain commit
Répétez ce processus jusqu'à ce que tous les commits soient modifiés. Les progrès peuvent être consultés via le statut git.
3. Exemple de modification
Les informations actuelles de soumission du journal git sont les suivantes
admin@DESKTOP-PC MINGW64 /e/TestProj/ModifyTimeTest (master) $ git log --oneline 2fe64c4 (HEAD -> master) modify Readme.md 3 6b98331 modify Readme.md 2 98ddd80 modify Readme.md 1 fcfc064 add Readme.md
Supposons que la date de l'auteur et la date de l'auteur du commit 6b98331 modifient Readme.md 2 doivent être modifiées à ce moment-là
Les étapes de modification sont :
Exécutez la commande de rebase interactive git rebase -i 98ddd80
Dans les informations d'édition pop-up vi, remplacez le choix avant la soumission de 6b98331 par e, puis exécutez : wq Save
e 6b98331 modify Readme.md 2 # 此处原为pick,将pick修改为e / edit pick 2fe64c4 modify Readme.md 3 # Rebase 98ddd80..2fe64c4 onto 98ddd80 (2 commands) # # Commands: # p, pick <commit> = use commit # r, reword <commit> = use commit, but edit the commit message # e, edit <commit> = use commit, but stop for amending # s, squash <commit> = use commit, but meld into previous commit # f, fixup <commit> = like "squash", but discard this commit's log message # x, exec <command> = run command (the rest of the line) using shell # b, break = stop here (continue rebase later with 'git rebase --continue') # d, drop <commit> = remove commit # l, label <label> = label current HEAD with a name # t, reset <label> = reset HEAD to a label # m, merge [-C <commit> | -c <commit>] <label> [# <oneline>] # . create a merge commit using the original merge commit's # . message (or the oneline, if no original merge commit was # . specified). Use -c <commit> to reword the commit message. # # These lines can be re-ordered; they are executed from top to bottom. # # If you remove a line here THAT COMMIT WILL BE LOST. # # However, if you remove everything, the rebase will be aborted.
Exécutez GIT_COMMITTER_DATE= "2021-10-22T15:10:07" git commit --amend --date="2021-10-22T15:10:07" Modifie à la fois la date de l'auteur et la date de l'auteur au 2021-10-22T15:10:07. Ensuite, vous pouvez choisir de modifier le journal de validation dans la fenêtre contextuelle d'édition des informations de vi, puis d'exécuter :wq pour enregistrer
, puis d'exécuter git rebase --continuez pour passer au prochain commit jusqu'à ce que toutes les modifications soient enregistrées. Une fois terminé, utilisez git log pour afficher les informations de soumission et vous verrez que les informations de soumission ont été modifiées
Le journal complet de l'exemple ci-dessus est le suivant :
admin@DESKTOP-PC MINGW64 /e/TestProj/ModifyTimeTest (master) $ git log --oneline 2fe64c4 (HEAD -> master) modify Readme.md 3 6b98331 modify Readme.md 2 98ddd80 modify Readme.md 1 fcfc064 add Readme.md admin@DESKTOP-PC MINGW64 /e/TestProj/ModifyTimeTest (master) $ git rebase -i 98ddd80 Stopped at 6b98331... modify Readme.md 2 You can amend the commit now, with git commit --amend Once you are satisfied with your changes, run git rebase --continue admin@DESKTOP-PC MINGW64 /e/TestProj/ModifyTimeTest (master|REBASE 1/2) $ GIT_COMMITTER_DATE="2021-10-22T15:10:07" git commit --amend --date="2021-10-22T15:10:07" [detached HEAD 137f41d] modify Readme.md 2 Date: Fri Oct 22 15:10:07 2021 +0800 1 file changed, 16 insertions(+) admin@DESKTOP-PC MINGW64 /e/TestProj/ModifyTimeTest (master|REBASE 1/2) $ git status interactive rebase in progress; onto 98ddd80 Last command done (1 command done): edit 6b98331 modify Readme.md 2 Next command to do (1 remaining command): pick 2fe64c4 modify Readme.md 3 (use "git rebase --edit-todo" to view and edit) You are currently editing a commit while rebasing branch 'master' on '98ddd80'. (use "git commit --amend" to amend the current commit) (use "git rebase --continue" once you are satisfied with your changes) nothing to commit, working tree clean admin@DESKTOP-PC MINGW64 /e/TestProj/ModifyTimeTest (master|REBASE 1/2) $ git rebase --continue Successfully rebased and updated refs/heads/master. admin@DESKTOP-PC MINGW64 /e/TestProj/ModifyTimeTest (master) $ git status On branch master nothing to commit, working tree clean
Apprentissage recommandé : "Tutoriel Git"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!