>  기사  >  개발 도구  >  Git에서 커밋 시간을 수정하는 방법

Git에서 커밋 시간을 수정하는 방법

WBOY
WBOY원래의
2022-07-01 10:30:1215580검색

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는 수정할 커밋의 이전 커밋의 커밋 샤입니다.

  • 는 vi 팝업 대화형 정보에 표시됩니다. 수정된 날짜의 커밋 전 선택이 e
  • 로 변경됩니다. 날짜 수정 명령 GIT_COMMITTER_DATE="2017-10-08T09:51:07" git을 실행하세요. commit --amend --date="2017-10-08T09:51:07 "
  • Execute git rebase --continue to go to the next commit
  • 모든 커밋이 수정될 때까지 이 프로세스를 반복합니다. 진행 상황은 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 <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup <commit> = like "squash", but discard this commit&#39;s log message
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with &#39;git rebase --continue&#39;)
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# .       create a merge commit using the original merge commit&#39;s
# .       message (or the oneline, if no original merge commit was
# .       specified). Use -c <commit> to reword the commit message.
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.

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 --continue를 실행하여 모든 변경 사항이 저장될 때까지 다음 커밋으로 이동할 수 있습니다. 완료 후 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 Tutorial

"

위 내용은 Git에서 커밋 시간을 수정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.