1. ホーム
  2. git

[解決済み] コミットのタイムスタンプを変更せずに git rebase を行う。

2022-04-14 11:24:08

質問

を実行するのは意味があるのでしょうか? git rebase コミットタイムスタンプを保持したまま?

その結果、新しいブランチには必ずしも時系列でコミットされた日付が含まれなくなるのではと思います。それは 理論的には 可能でしょうか?(例: 配管コマンドを使用する。)

もし理論的に可能なら、rebaseで実際にタイムスタンプを変更しないことは可能なのでしょうか?

例えば、以下のようなツリーがあるとします。

master <jun 2010>
  |
  :
  :
  :     oldbranch <feb 1984>
  :     /
oldcommit <jan 1984>

ここで、リベースすると oldbranchmaster の場合、コミットの日付が1984年2月から2010年6月に変更されます。コミットのタイムスタンプが変更されないように、この動作を変更することは可能でしょうか?最終的に私はこのように取得します。

      oldbranch <feb 1984>
      /
 master <jun 2010>
    |
    :

それは全く意味がないのでしょうか?古いコミットが最近のコミットを親に持つような履歴を持つことは、git では許されるのでしょうか?

解決方法は?

Von C の重要な質問により、何が起こっているのか理解することができました:リベースの際に コミッターの のタイムスタンプは変更されますが 作者の のタイムスタンプで、突然すべてが理解できるようになりました。というわけで、私の質問は、実は十分に正確ではありませんでした。

答えは、rebaseは実は作者のタイムスタンプを変更しない(そのために何もする必要がない)、というもので、これは私にぴったりです。