gitでコミット時間を変更する方法

WBOY
リリース: 2022-07-01 10:30:12
オリジナル
15472 人が閲覧しました

git では、「git commit --amend」コマンドを使用してコミット時刻を変更できます。このメソッドは、最新の送信の日付を変更するだけでなく、指定した送信の日付も変更できます。ここでの日付の形式は「ISO-8601」形式である必要があり、構文は「GIT_COMMITTER_DATE="time" git commit --amend --date="time"」です。

gitでコミット時間を変更する方法

この記事の動作環境: Windows 10 システム、Git バージョン 2.30.0、Dell G3 コンピューター。

git でコミット時刻を変更する方法

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_COMMITTER_DATE="2017-10- 08T09:51:07" git commit --amend --date="2017-10- 08T09:51:07"
  • git rebase を実行 -- 次のコミットに進む
  • すべてのコミットが変更されるまで、このプロセスを繰り返します。進行状況は git status で確認できます。
  • 3. 変更例

現在の 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
ログイン後にコピー

6b98331 の変更が Readme に必要であると仮定しますコミット md 2

の作成者日付と送信者日付 変更手順は次のとおりです:

対話型リベース コマンド git rebase -i 98ddd80

## を実行します。 #ポップアップ 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 サイトの他の関連記事を参照してください。

関連ラベル:
git
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!