我发现自己经常修改我的提交。我没有藏那么多东西,因为我往往会忘记我这么做过,特别是当我想在离开或周末之前保存我所做的事情时,所以我做了一个“草稿”提交。唯一的问题是,当我修改提交时,它仍然被设置为原始作者日期。修改时是否有(简单的)更新方法?
当前回答
另一种方法是
git commit --amend --reset-author
这确实会改变提交作者以及日期-但如果它最初是您的未推送提交,那么这是一个无操作。
如果您希望更新多次提交的日期,但希望提交消息保持不变,您还可以添加——no-edit。这样就不会提示您为每次提交编辑消息。
其他回答
你可以用——date参数改变作者的日期来提交git。因此,如果你想修改上次提交,并将其作者日期更新为当前日期和时间,你可以这样做:
git commit --amend --date="$(date -R)"
(-R参数to date告诉它以RFC 2822格式输出日期。这是git提交可以理解的一种日期格式。)
另一种方法是
git commit --amend --reset-author
这确实会改变提交作者以及日期-但如果它最初是您的未推送提交,那么这是一个无操作。
如果您希望更新多次提交的日期,但希望提交消息保持不变,您还可以添加——no-edit。这样就不会提示您为每次提交编辑消息。
如果有人还在寻找一种简单的方法来更改多次提交的日期,我创建了这个npm包。
https://github.com/bitriddler/git-change-date
用法:
npm install -g git-change-date
cd [your-directory]
git-change-date
我喜欢马克的答案,自己也用过几次,但现在我在OS X上,不支持date -R。但是一切都比原来的答案让我们想的要容易得多,只是用空字符串!
git commit --date= --amend
更新:
你也可以试试
git commit --date="$(date)" --amend
或者在git的新版本中
git commit --date=now --amend
Git v2.1.4(在Debian 8 (Jessie)上测试)
git commit --amend --date=now
推荐文章
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的git添加?
- Rubymine:如何让Git忽略Rubymine创建的.idea文件
- Gitignore二进制文件,没有扩展名
- Git隐藏错误:Git隐藏弹出并最终与合并冲突
- 了解Git和GitHub的基础知识
- 没有。Git目录的Git克隆
- Git与Mercurial仓库的互操作性
- 忽略git中修改(但未提交)的文件?
- “git restore”命令是什么?“git restore”和“git reset”之间有什么区别?
- Git合并与强制覆盖
- Git拉另一个分支
- 在Bash命令提示符上添加git分支
- 如何更改Git日志日期格式
- git pull -rebase和git pull -ff-only之间的区别