You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Git执行git commit --amend时自动保留提交者日期?

实现git commit --amend自动继承上一次提交的COMMITTER_DATE

Git本身没有内置配置项直接实现这个需求,但可以通过包装Git命令的方式,让git commit --amend自动带上指定环境变量,且无需创建自定义子命令。

具体实现方法

步骤1:创建Git包装脚本

在用户目录下创建bin目录(不存在则新建),并在其中创建名为git的脚本:

mkdir -p ~/bin
touch ~/bin/git

步骤2:编写脚本内容

编辑~/bin/git,写入以下内容:

#!/bin/bash

# 仅处理git commit --amend命令
if [[ "$1" == "commit" && "$2" == "--amend" ]]; then
    # 获取上一次提交的committer日期
    COMMITTER_DATE=$(git log -1 --pretty=tformat:%cD HEAD)
    # 注入环境变量并执行原Git命令
    GIT_COMMITTER_DATE="$COMMITTER_DATE" /usr/bin/git "$@"
else
    # 其他命令直接调用系统原Git
    /usr/bin/git "$@"
fi

步骤3:设置脚本权限

给脚本添加可执行权限:

chmod +x ~/bin/git

步骤4:调整PATH优先级

确保~/bin在系统Git路径之前,把以下内容添加到~/.bashrc(Bash)或~/.zshrc(Zsh)文件末尾:

export PATH="$HOME/bin:$PATH"

步骤5:生效配置

重新加载Shell配置文件,使修改生效:

# Bash用户
source ~/.bashrc

# Zsh用户
source ~/.zshrc

效果验证

现在执行git commit --amend时,Git会自动用上一次提交的COMMITTER_DATE作为本次修正提交的提交者日期,无需手动添加环境变量前缀。其他Git命令的执行不受任何影响。

内容的提问来源于stack exchange,提问作者iBug

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 11:22:35