当我运行的时候git commit
,我最喜欢的编辑器启动并向我显示如下内容:
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
# Your branch is up-to-date with 'origin/master'.
#
# Changes to be committed:
# …
我从事过许多不同项目,工作环境也不同,因此拥有不同的 Git 身份。我不止一次因为忘记运行而不得不更改现有提交(或更糟的是,更改现有提交链)git config user.email
。
是否可以在提交消息的注释中显示当前身份,以便我在编写提交消息时看到它?这将有助于我更早地发现错误。
类似这样的做法就可以了:
# Author:
# jornane <[email protected]>
答案1
您没有指定正在使用的操作系统,但Linux
您可以使用以下命令实现您想要的操作prepare-commit-msg
:
#!/usr/bin/env sh
# prepare-commit-msg: print author name and e-mail as a comment in a commit message
# automatically
# if amend, don't do anything
if ! [ -z $3 ] ;then
exit
fi
author=$(git var GIT_AUTHOR_IDENT | grep -E -o ".*<.+>")
sed -i "1s/^/#$author \n/" $1