git では、「git commit --amend」コマンドを使用してコミット時刻を変更できます。このメソッドは、最新の送信の日付を変更するだけでなく、指定した送信の日付も変更できます。ここでの日付の形式は「ISO-8601」形式である必要があり、構文は「GIT_COMMITTER_DATE="time" git commit --amend --date="time"」です。
この記事の動作環境: Windows 10 システム、Git バージョン 2.30.0、Dell G3 コンピューター。
1. 最新のコミットの作成者日付と送信者日付を変更します
必要な場合は、最新のコミットの作成者を変更します。日付と送信者の日付については、git commit --amend を直接使用してください。
注: 日付形式は ISO-8601 形式である必要があります
GIT_COMMITTER_DATE="2017-10-08T09:51:07" git commit --amend --date="2017-10-08T09:51:07"
2特定の投稿の作成者日付と投稿者の日付を変更する
特定の投稿の作成者日付と投稿者日付 (最新または最近ではない) を変更したい場合は、次のようにします。インタラクティブ リベースを使用できます:
git rebase -i COMMIT_SHA を実行します。この COMMIT_SHA は、変更するコミットの前のコミットのコミット SHA です。
vi ポップアップの対話型情報で、変更する日付を変更します。コミット前のピックが e現在の git ログ送信情報は次のとおりです
admin@DESKTOP-PC MINGW64 /e/TestProj/ModifyTimeTest (master) $ git log --oneline 2fe64c4 (HEAD -> master) modify Readme.md 3 6b98331 modify Readme.md 2 98ddd80 modify Readme.md 1 fcfc064 add Readme.md
## を実行します。 #ポップアップ vi エディターで、情報内で、6b98331 が送信される前に選択を e に変更して、次を実行します。 wq Save
e 6b98331 modify Readme.md 2 # 此处原为pick,将pick修改为e / edit pick 2fe64c4 modify Readme.md 3 # Rebase 98ddd80..2fe64c4 onto 98ddd80 (2 commands) # # Commands: # p, pick= use commit # r, reword = use commit, but edit the commit message # e, edit = use commit, but stop for amending # s, squash = use commit, but meld into previous commit # f, fixup = like "squash", but discard this commit's log message # x, exec = run command (the rest of the line) using shell # b, break = stop here (continue rebase later with 'git rebase --continue') # d, drop = remove commit # l, label
Execute GIT_COMMITTER_DATE="2021-10-22T15:10:07" git commit --amend --date="2021 -10-22T15:10:07" 作成者日付と送信者日付の両方を 2021-10-22T15:10:07 に変更します。次に、ポップアップの vi 情報編集ウィンドウでコミット ログを変更することを選択できます。その後、:wq を実行して
を保存し、次に git rebase を実行します -- すべての変更が完了するまで次のコミットに進み続けます。保存されました。完了後、git log を使用して送信情報を表示すると、送信情報が変更されていることがわかります。
上記の例の完全なログは次のとおりです。
admin@DESKTOP-PC MINGW64 /e/TestProj/ModifyTimeTest (master) $ git log --oneline 2fe64c4 (HEAD -> master) modify Readme.md 3 6b98331 modify Readme.md 2 98ddd80 modify Readme.md 1 fcfc064 add Readme.md admin@DESKTOP-PC MINGW64 /e/TestProj/ModifyTimeTest (master) $ git rebase -i 98ddd80 Stopped at 6b98331... modify Readme.md 2 You can amend the commit now, with git commit --amend Once you are satisfied with your changes, run git rebase --continue admin@DESKTOP-PC MINGW64 /e/TestProj/ModifyTimeTest (master|REBASE 1/2) $ GIT_COMMITTER_DATE="2021-10-22T15:10:07" git commit --amend --date="2021-10-22T15:10:07" [detached HEAD 137f41d] modify Readme.md 2 Date: Fri Oct 22 15:10:07 2021 +0800 1 file changed, 16 insertions(+) admin@DESKTOP-PC MINGW64 /e/TestProj/ModifyTimeTest (master|REBASE 1/2) $ git status interactive rebase in progress; onto 98ddd80 Last command done (1 command done): edit 6b98331 modify Readme.md 2 Next command to do (1 remaining command): pick 2fe64c4 modify Readme.md 3 (use "git rebase --edit-todo" to view and edit) You are currently editing a commit while rebasing branch 'master' on '98ddd80'. (use "git commit --amend" to amend the current commit) (use "git rebase --continue" once you are satisfied with your changes) nothing to commit, working tree clean admin@DESKTOP-PC MINGW64 /e/TestProj/ModifyTimeTest (master|REBASE 1/2) $ git rebase --continue Successfully rebased and updated refs/heads/master. admin@DESKTOP-PC MINGW64 /e/TestProj/ModifyTimeTest (master) $ git status On branch master nothing to commit, working tree clean
推奨される学習: "
Git チュートリアル》
以上がgitでコミット時間を変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。