Git Commit Author的电子邮件根据目录和/或项目而变化?

时间:2012-06-17 05:00:16

标签: git

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

  

也许有用的相关信息

     
      
  1. What is the difference between author and committer in Git?

  2.   
  3. Git commit with no email

  4.   

3 个答案:

答案 0 :(得分:18)

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

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

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

git config -l | fgrep user.

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

答案 1 :(得分:3)

使用以下命令提交更改

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

然后,您将能够为作者设置明确的电子邮件。

答案 2 :(得分: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; }'