コミッターの日付をオーサーの日付に設定して、リベースを行う
コミッターの日付(Committer date)をオーサーの日付(Author date)に設定して、「リベース」を行います。デフォルトでは、コミッターの日付は、コミットを実行した日付に設定されます。
コミッターの日付とは、「コミットオブジェクト」が生成された日付です。
注意
インタラクティブモード(--interactive)では、利用できません。1.ブランチの確認
現在のブランチ構成を確認すると、以下のようになっています。現在のブランチは、「fix」ブランチであることが分かります。
同様に、「HEAD」は「fix」ブランチを指していることが分かります。
ここでは例として、「fix」ブランチを「master」ブランチにリベースし、「mastsr」ブランチに「fix」ブランチの変更内容を結合します。
2.ブランチの構成
現在のブランチの構成を図にすると、以下のようになっています。「fix」ブランチを「master」ブランチにリベースするため、リベース対象の「コミットオブジェクト」は、以下のようになります。
- Commit4
- Commit5
3.コマンドの実行
コマンドのオプションは、以下のオプションを指定します。オプション |
---|
--committer-date-is-author-date |
「端末」から、以下のコマンドを実行します。
コマンドの詳細は、「ファイルの変更内容を異なるブランチに結合するコマンドの説明」を参考にしてください。
ポイントは、赤字の箇所です。
git rebase --verbose --committer-date-is-author-date master
4.コマンドの実行結果
以下のように、リベース結果が表示されます。5.ブランチの確認
現在のブランチ構成を確認すると、以下のようになっています。「fix」ブランチが指す「コミットオブジェクト」の識別子が、「1.」と異なっています。
6.ブランチの構成
現在のブランチの構成を図にすると、以下のようになっています。「Commit4」の変更内容を元に、「Commit4’」が新規に生成されています。
同様に「Commit5」の変更内容を元に、「Commit5’」が新規に生成されています。
「Commit4」と「Commit5」は、いずれも削除されています。
7.コミッターの日付とオーサーの日付の確認
コミッターの日付とオーサーの日付を確認します。「端末」から以下のコマンドを実行します。
git log --max-count=2 --format="Commit : %s%nCommitter Date : %cd%nAuthor Date : %ad%n"
「Commit4’」と「Commit5’」のコミッターの日付とオーサーの日付が表示されます。
コミッターの日付が、オーサーの日付と同じ日付になっています。
通常のリベース
比較のため、通常の方法でリベースしてみます。1.コマンドの実行
「端末」から、以下のコマンドを実行します。コマンドの詳細は、「ファイルの変更内容を異なるブランチに結合するコマンドの説明」を参考にしてください。
git rebase --verbose master
2.コマンドの実行結果
以下のように、リベース結果が表示されます。3.コミッターの日付とオーサーの日付の確認
コミッターの日付とオーサーの日付を確認します。「端末」から以下のコマンドを実行します。
git log --max-count=2 --format="Commit : %s%nCommitter Date : %cd%nAuthor Date : %ad%n"
「Commit4’」と「Commit5’」のコミッターの日付とオーサーの日付が表示されます。
コミッターの日付が、コミットを実行した日付(≒リベースを実行した日付)になっています。