回答:
--date
パラメータを使用して作成者の日付をに変更できますgit commit
。したがって、最後のコミットを修正し、その作成者の日付を現在の日付と時刻に更新する場合は、次のようにします。
git commit --amend --date="$(date -R)"
(RFC 2822形式で日付を出力する-R
ようにdate
指示するパラメーター。これは、が理解する日付形式のgit commit
1つです。)
date
が、わかりません-R
。date
オプションなしで使用することはとにかく仕事をしました
!
て引用符をエスケープする必要があることに注意してください。たとえば、can = !git commit --amend --date=\"$(date -R)\"
date -R
OSXでは機能しません。date +%s
代わりに使用してください
git commit --amend --date="$(date +%s)"
これを行う別の方法は
git commit --amend --reset-author
これにより、日付だけでなくコミットの作成者も変更されます。ただし、元々プッシュされていないコミットの場合は、何も起こりません。
--no-edit
複数のコミットで日付を更新したいが、コミットメッセージはそのままにしておく場合も追加できます。この方法では、コミットごとにメッセージを編集するように求められません。
git commit --amend
変更は単なる微調整などではなくコミットです。つまり、バージョン管理システムが非常に厳密である場合、リポジトリコンテンツの変更の履歴が異なります。そのため、私は直感的に、作成者と日付の両方が実際のコミットデータと一致することを期待しています。特に、著者であることは重要であり、日付ではありません。そのようなデフォルトを担当するgit開発者を倒したい場合は、このコメントに投票してください。:)
マークの答えが気に入って何度か使ったが、今はOS Xを使っているdate -R
のでサポートされていない。しかし、すべてが元の答えよりもはるかに簡単であると考えられました。空の文字列を使用してください!
git commit --date= --amend
fatal: invalid date format:
--date="$(date)"
OS Xでの使用に-R
適しています。オプションはGNUismです。
複数のコミットの日付を変更する簡単な方法をまだ誰かが探している場合は、このnpmパッケージを作成しました。
https://github.com/bitriddler/git-change-date
使用法:
npm install -g git-change-date
cd [your-directory]
git-change-date
npm
パッケージが必要ですか?いいえ、git
コマンドをそのまま使用する方法を学びます。