How to tell git to use the correct identity (name and email) for a given project?


I use my personal laptop for both work and personal projects and I would like to use my work email address for my commits at work (gitolite) and my personal email address for the rest (github).

I read about the following solutions which are all either global or temporary:

  • git config --global ""
  • git config ""
  • git commit --author "Bob <>"
  • setting one of the GIT_AUTHOR_EMAIL, GIT_COMMITTER_EMAIL or EMAIL environment variables

One solution is to run manually a shell function that sets my environment to work or personal, but I am pretty sure that I will often forget to switch to the correct identity resulting in committing under the wrong identity.

Is there a way of binding a certain repository, project name, etc. to an identity (name, email)? What do people do?


git config ""

Doing that one inside a repo will set the configuration on THAT repo, and not globally.

Seems like that’s pretty much what you’re after, unless I’m misreading you.

Leave a Reply