是否有Git命令可以显示作者和提交者,该命令将基于应用的所有配置源用于下一个提交?
提出这个问题的原因之一是我无法在任何文件中找到 username
(如下面示例中报告的提交者):
grep -r obsdev .git/config ~/.gitconfig /etc/gitconfig
# no output
显然,还有另一个配置来源。
关键是我不想了解任何可能现在或未来存在的配置来源,也不想知道它们应用的顺序和如何覆盖彼此。相反,我想让 Git 找出并显示最终/有效的作者 / 提交者值。
例子
在某些条件下(比如命令行选项 --author
),Git 会在提交信息的编辑器中显示被注释掉的 Author:
和 Committer:
字段:
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# Author: First Last <first.last@example.com>
# Committer: username <username@localhost.localdomain>
#
...
有没有一种方法可以在不尝试提交的情况下显示这些字段?
或者,是否可以强制Git在提交消息编辑器中提供包含“作者:”和“提交者:”字段的注释,在任何情况下都不需要使用命令行选项,即使使用默认值(而不覆盖默认值)?
--dry-run
标志来防止实际提交。如果不是为了提交,那您需要这个信息用来做什么? - knittl--dry-run
不显示作者/提交者。 (2) 的确,最终我需要确保我实际进行的提交使用正确的作者/提交者。 但是,我不想等到那时(我可能会忘记)。 我现在想确保配置正确无误。 (3) 此外,如果默认情况下使用git commit
(例如,没有使用--author
选项),则通常不会在提交消息编辑器中显示作者。 换句话说,大多数情况下您都不知道使用了哪个作者/提交者! 任何(新的)配置错误的主机都是问题。 - uvsmtidgit config user.name
;git config user.email
检索它),或者从$GIT_{COMMITTER,AUTHOR}_{NAME,EMAIL}
环境变量中获取,如果设置了环境变量,则环境变量优先于配置值。 - knittl