T-CREATOR

Git のコミット日時を修正するコマンドの使い方を紹介

Git のコミット日時を修正するコマンドの使い方を紹介
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Git のコミット日時を修正するコマンドの使い方を紹介します。

経緯

リモートへ push する前にローカルブランチを削除してしまい
その後再度コミットを作成したのですがコミットログを実際の作業日へ修正したかったためコマンドを調べたことがきっかけです。

環境

  • git 2.31.1

Git コマンド

コミットを確認

今回は直前のコミットの時間を変更しますので-1オプションで 1 件ログを出力します。

zsh$ git log --pretty=fuller -1

commit 45f20eaa142ba1953733d71f6bc82ef4575e64c0
Author:     XXXX.XXXX <XXXX.XXXX@gmail.com>
AuthorDate: Wed Jul 14 19:02:07 2021 +0900
Commit:     XXXX.XXXX <XXXX.XXXX@gmail.com>
CommitDate: Wed Jul 14 19:02:07 2021 +0900

コミット時間が 2021/7/13 18:04:19 に実施されていることが確認できました。
AuthorDate と CommitDate それぞれ変更していきます。

コミット時間の変更

コミット時間を下記へ変更します。
2021/7/13 18:04:19 → 2021/7/12 18:00:00

AuthorDate の変更

zsh$ git commit --amend --date="Mon Jul 13 18:00:00 2021 +0900"

エラーが発生したためエラーの対処についてはこちらの記事へまとめています。

解決するとエディタが立ち上がるのでメッセージ必要に応じて修正し保存します。

コミット時間を表示して変更を確認

改めてコミットの時間を変更します。

zsh$ git log --pretty=fuller -1

commit 45f20eaa142ba1953733d71f6bc82ef4575e64c0
Author:     XXXX.XXXX <XXXX.XXXX@gmail.com>
AuthorDate: Tue Jul 13 18:00:00 2021 +0900
Commit:     XXXX.XXXX <XXXX.XXXX@gmail.com>
CommitDate: Wed Jul 14 19:02:07 2021 +0900

AuthorDateが指定した日時へ更新されていることが確認でいました。

CommitDate の変更

続いて下記コマンドでCommitDateを変更します。

zsh$ git rebase HEAD~1 --committer-date-is-author-date
Successfully rebased and updated refs/heads/master.

コミット時間を表示して変更を確認

改めてコミットの時間を変更します。

zsh$ git log --pretty=fuller -1

commit 45f20eaa142ba1953733d71f6bc82ef4575e64c0
Author:     XXXX.XXXX <XXXX.XXXX@gmail.com>
AuthorDate: Tue Jul 13 18:00:00 2021 +0900
Commit:     XXXX.XXXX <XXXX.XXXX@gmail.com>
CommitDate: Tue Jul 13 18:00:00 2021 +0900

AuthorDateに合わせてCommitDateが変更されていることが確認できました。

記事Article

もっと見る