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
もっと見る- article
2025年JavaScriptで使える時間操作ライブラリを比較!日付処理の最適解とは?
- article
NestJSでバリデーションエラーをログ出力する設定を紹介
- article
NestJSで作成したAPIのレスポンスヘッダーに付与されるx-powered-by: Express を消す方法を紹介
- article
Next.jsで環境変数に別の変数を利用し柔軟に管理するdotenv-expandの活用法を紹介
- article
【2025年3月版】Cursor ProとAPI利用比較。 Claude・GPT-4o・o1・GPT-4.5の損益分岐点と選び方
- article
フォーム入力情報からZodを利用してDTO作成しへ変換処理を実施するやり方を紹介