I\'m wondering where does git stores user information. I created a repository, which both me and my friend works on. When we both commit, we can see both of us as individual
There are 3 default paths for the config file.
<your_git_repository>/.git/config
~/.gitconfig
$(prefix)/etc/gitconfig
The --global
option always use the home directory. Note that git
will always try to read all of them. If it finds one, it loads it, and moves to the next one. Local takes precedence over global, which takes precedence over system-wide. It uses a simple key-merging algorithm.
Reference: git-config FILES
In my case, I found my username in the ~/.git-credentials
file. Hope this helps you.
You can also list the configuration using:
git config --list
If you do not store user information in your configuration files Git looks in the environment for committer information, using the variables GIT_COMMITTER_NAME
, GIT_COMMITTER_EMAIL
, GIT_AUTHOR_NAME
, and GIT_AUTHOR_EMAIL
. In absence of these variables, your username and host name are used to construct a value. So even without any user information stored in configuration files two users will have different committer information.
There are three places - system ( all users on the system at $(prefix)/etc/gitconfig
), global ( for the user at ~/.gitconfig
) and local ( for the repo at .git/config
). Any config should be in either of the three to be taken by git.
However if GIT_CONFIG
or myriad other environment variable are set, some of the values will be coming from those. If you are not able to find what you want in any of the config files, or not even able to find these files, look at all GIT_* environment variables as the last resort.
More details here:
http://git-scm.com/docs/git-config#FILES