1. ホーム
  2. git

[解決済み] Git で古いコミットのタイムスタンプを変更するにはどうしたらいいですか?

2022-03-22 12:46:20

質問

の答えは 既存の未プッシュのコミットを修正する方法は? は、まだ上流にプッシュされていない以前のコミットメッセージを修正する方法について説明しています。 新しいメッセージは元のコミットのタイムスタンプを引き継ぎます。 これは論理的なことだと思いますが、時刻を再設定する方法はありますか?

解決方法は?

使用方法 git filter-branch を設定する環境フィルタと GIT_AUTHOR_DATEGIT_COMMITTER_DATE を、修正したいコミットの特定のハッシュに置き換えてください。

これは、そのハッシュと今後のすべてのハッシュを無効化します。

を変更したい場合 日付 コミットの 119f9ecf58069b265ab22f1f97d2b648faf932e0 のようなものであれば、可能です。

git filter-branch --env-filter \
    'if [ $GIT_COMMIT = 119f9ecf58069b265ab22f1f97d2b648faf932e0 ]
     then
         export GIT_AUTHOR_DATE="Fri Jan 2 21:38:53 2009 -0800"
         export GIT_COMMITTER_DATE="Sat May 19 01:01:01 2007 -0700"
     fi'