답변:
--date
매개 변수를 사용하여 작성자 날짜를로 변경할 수 있습니다 git commit
. 따라서 마지막 커밋을 수정하고 작성자 날짜를 현재 날짜 및 시간으로 업데이트하려면 다음을 수행하십시오.
git commit --amend --date="$(date -R)"
( RFC 2822 형식으로 날짜를 출력 -R
하도록 date
지시하는 매개 변수 입니다.이 형식은에 의해 이해되는 날짜 형식git commit
중 하나입니다 .)
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-op입니다.
--no-edit
여러 커밋의 날짜를 업데이트하고 싶지만 커밋 메시지를 그대로 유지하려는 경우 추가 할 수도 있습니다 . 이렇게하면 각 커밋에 대한 메시지를 편집하라는 메시지가 표시되지 않습니다.
git commit --amend
변경 사항 은 조정이나 그와 비슷한 것이 아니라 커밋합니다. 즉, 모든 버전 제어 시스템이 매우 엄격한 저장소 내용 변경 내역이 다릅니다. 그리고 같은 나는 직관적으로 저자와 날짜 모두 실제 데이터를 커밋 일치가 될 것으로 기대합니다. 특히 저작권은 날짜가 아니라 중요합니다. 이러한 불이행을 담당하는 자식 개발자를이기려면이 의견에 투표하십시오. :)
Mark의 답변을 좋아하고 여러 번 직접 사용했지만 이제는 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
명령을있는 그대로 사용하는 방법을 배웁니다 .