curious: where does git store user information?

前端 未结 4 806
暗喜
暗喜 2020-12-15 17:30

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

相关标签:
4条回答
  • 2020-12-15 18:06

    There are 3 default paths for the config file.

    • Repository itself: <your_git_repository>/.git/config
    • User home directory: ~/.gitconfig
    • System-wide directory: $(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

    0 讨论(0)
  • 2020-12-15 18:07

    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
    
    0 讨论(0)
  • 2020-12-15 18:25

    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.

    0 讨论(0)
  • 2020-12-15 18:29

    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

    0 讨论(0)
提交回复
热议问题