14

我处理自己的项目,并且时不时地为第三方做一些工作,我需要在提交中使用他们的联系信息等。我通常只使用全局提交名称等,但现在我需要根据目录指定提交名称和电子邮件。我怎样才能在 Git 中做到这一点?

也许有用的相关信息

  1. Git中的作者和提交者有什么区别?

  2. 没有电子邮件的 Git 提交

4

3 回答 3

28

您可以拥有一个每个存储库的用户名和电子邮件地址来取代您的全局设置。它会影响在当前存储库中所做的提交,但不会影响其他存储库中的提交。

git config user.name "Foo Bar"
git config user.email "foo.bar@example.com"

您可以通过以下方式确认您的本地信息覆盖了您的全局默认值:

git config -l | fgrep user.

它可能显示多个条目(例如,全局和本地配置设置),但列表中最后显示的内容优先。

于 2012-06-17T06:00:37.997 回答
3

使用以下命令提交您的更改

git commit -m "Commit message" --author "Your Name <email>"

然后,您将能够为该提交明确设置作者、电子邮件。

于 2012-06-17T05:06:42.510 回答
1

如果您需要根据文件夹指定不同的作者/提交者名称/电子邮件。您可以在 .bashrc 中添加这样的一行

PROMPT_COMMAND='[[ $PWD =~ ^path/to/dir.*$ ]] && { export GIT_COMMITTER_EMAIL=email && export GIT_COMMITTER_NAME=name && export GIT_AUTHOR_EMAIL=email && export GIT_AUTHOR_NAME=name; } || { unset GIT_COMMITTER_NAME && unset GIT_COMMITTER_EMAIL && unset GIT_AUTHOR_NAME && unset GIT_AUTHOR_EMAIL; }'
于 2018-02-20T12:58:32.503 回答