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
Git の部分取得を徹底比較:sparse-checkout/partial clone/shallow の違いと使い分け
- article
Git で「detached HEAD」になった時の安全復帰プレイブック
- article
Git 内部処理の舞台裏:パックファイル・コミットグラフ・参照の関係を図解で理解
- article
git reset の使い分け完全ガイド:soft・mixed・hard の違いを理解する
- article
Git で特定のコミットを打ち消す!git revert の正しい使い方
- article
Cline で Git 操作を自動化する方法
- article
Vitest `vi` API 技術チートシート:`mock` / `fn` / `spyOn` / `advanceTimersByTime` 一覧
- article
Pinia ストア分割テンプレ集:domain/ui/session の三層パターン
- article
Obsidian Markdown 拡張チートシート:Callout/埋め込み/内部リンク完全網羅
- article
Micro Frontends 設計:`vite-plugin-federation` で分割可能な UI を構築
- article
TypeScript 公開 API の型設計術:`export type`/`interface`/`class`の責務分担と境界設計
- article
Nuxt nuxi コマンド速見表:プロジェクト作成からモジュール公開まで
- blog
iPhone 17シリーズの発表!全モデルiPhone 16から進化したポイントを見やすく整理
- blog
Googleストアから訂正案内!Pixel 10ポイント有効期限「1年」表示は誤りだった
- blog
【2025年8月】Googleストア「ストアポイント」は1年表記はミス?2年ルールとの整合性を検証
- blog
Googleストアの注文キャンセルはなぜ起きる?Pixel 10購入前に知るべき注意点
- blog
Pixcel 10シリーズの発表!全モデル Pixcel 9 から進化したポイントを見やすく整理
- blog
フロントエンドエンジニアの成長戦略:コーチングで最速スキルアップする方法
- review
今の自分に満足していますか?『持たざる者の逆襲 まだ何者でもない君へ』溝口勇児
- review
ついに語られた業界の裏側!『フジテレビの正体』堀江貴文が描くテレビ局の本当の姿
- review
愛する勇気を持てば人生が変わる!『幸せになる勇気』岸見一郎・古賀史健のアドラー実践編で真の幸福を手に入れる
- review
週末を変えれば年収も変わる!『世界の一流は「休日」に何をしているのか』越川慎司の一流週末メソッド
- review
新しい自分に会いに行こう!『自分の変え方』村岡大樹の認知科学コーチングで人生リセット
- review
科学革命から AI 時代へ!『サピエンス全史 下巻』ユヴァル・ノア・ハラリが予見する人類の未来