我发现自己经常修改我的提交。我不太喜欢stash,因为我倾向于忘记我做了什么,特别是当我想保存我离开前或周末之前做的事情时,所以我做了一个“草稿”提交。唯一的问题是,当我修改提交时,它仍然设置为原作者日期。是否有一个(简单)的方法来更新时修改?
stash
mbzjlibv1#
您可以使用--date参数将作者日期更改为git commit。所以,如果你想修改上次提交,并将其作者日期更新为当前日期和时间,你可以这样做:
--date
git commit
git commit --amend --date="$(date -R)"
字符串(The date的-R参数告诉它以RFC 2822格式输出日期。这是git commit理解的日期格式之一。
date
-R
osh3o9ms2#
从Git v2.1.4开始(在Debian 8(杰西)上测试)
git commit --amend --date=now
字符串
pkbketx93#
另一种方法是
git commit --amend --reset-author
字符串这确实改变了提交作者和提交日期-但如果它最初是你的未推送提交,那么这是一个不操作。如果你想更新多个提交的日期,但你想让提交消息保持不变,你也可以添加--no-edit。这样,您就不会被提示编辑每次提交的消息。
--no-edit
tjvv9vkg4#
我喜欢Mark的回答,我自己也用过几次,但现在我在OS X上,不支持date -R。但是一切都比我们想的要简单得多,只要使用空字符串!
date -R
git commit --date= --amend
更新:
你也可以试试
git commit --date="$(date)" --amend
型或者在新版本的git中
git commit --date=now --amend
型
bq9c1y665#
我创建了这个npm包,如果有人仍然在寻找一种简单的方法来更改多个提交的日期。https://github.com/bitriddler/git-change-date用途:
npm install -g git-change-date cd [your-directory] git-change-date
sqougxex6#
一次提交有两个日期
GIT_COMMITTER_DATE
要更改这两个,您可以这样做:
GIT_COMMITTER_DATE="$(date)" git commit --amend --no-edit --date "$(date)"
6条答案
按热度按时间mbzjlibv1#
您可以使用
--date
参数将作者日期更改为git commit
。所以,如果你想修改上次提交,并将其作者日期更新为当前日期和时间,你可以这样做:字符串
(The
date
的-R
参数告诉它以RFC 2822格式输出日期。这是git commit
理解的日期格式之一。osh3o9ms2#
从Git v2.1.4开始(在Debian 8(杰西)上测试)
字符串
pkbketx93#
另一种方法是
字符串
这确实改变了提交作者和提交日期-但如果它最初是你的未推送提交,那么这是一个不操作。
如果你想更新多个提交的日期,但你想让提交消息保持不变,你也可以添加
--no-edit
。这样,您就不会被提示编辑每次提交的消息。tjvv9vkg4#
我喜欢Mark的回答,我自己也用过几次,但现在我在OS X上,不支持
date -R
。但是一切都比我们想的要简单得多,只要使用空字符串!字符串
更新:
你也可以试试
型
或者在新版本的git中
型
bq9c1y665#
我创建了这个npm包,如果有人仍然在寻找一种简单的方法来更改多个提交的日期。
https://github.com/bitriddler/git-change-date
用途:
字符串
sqougxex6#
一次提交有两个日期
--date
命令行参数指定GIT_COMMITTER_DATE
环境变量指定要更改这两个,您可以这样做:
字符串