Edited at

Gitのリモートリポジトリに任意の日時のコミットを作りたい

More than 1 year has passed since last update.


実現すること

Gitのリモートリポジトリに任意の日時のコミットを作ります。

Gitには、Commit Date, Author Dateがあるため、両方変更します。


手順


  1. ローカルリポジトリにコミット

     

  2. PCの時刻を変更

    Commit Dateはammendした時刻になります。ammendする前にPCの時刻を変更しておきます。

     

  3. ローカルリポジトリのコミットを任意の日時に変更

    Author Dateの変更は"--date"オプションをつけて"--ammend"します。

     

  4. ローカルリポジトリをリモートにプッシュ

※ Commit Date, Author Date共に変更する場合はPCの時刻変更だけでOKです。


動作確認環境


  • macOS High Sierra

  • git version 2.13.5


任意の日時に変更する方法

$ git commit --amend --date "Fri, 10 Nov 2017 14:33:41 +0900"


現在の日時に変更する方法

$ git commit --amend --date "`date -R`"


リモートリポジトリの過去の履歴の書き換え方法

$ git rebase -i <変更したいコミットの1つ前のコミットID>

修正したいコミットをpickからeditに変更

$ git commit --amend --date "`date -R`"

$ git rebase --continue

ローカルの履歴書き換え作業を必要回数繰り返す。

リモートのブランチを削除してからプッシュ。

チームメンバーには強制プルしてもらう。

$ git reset --hard origin/<ブランチ名>