让我说我做一个回购
cd repo1
git init
git config user.name "Jack"
git config user.email jack@hill.com
然后我再做一次
cd ../repo2
git init
git config --global user.name "Jill"
git config --global user.email jill@hill.com
我会成为杰克还是吉尔的回购? 我假设如果这两个步骤以相反的顺序完成,那么我将成为Jack in repo1吗?
答案 0 :(得分:3)
无论您运行命令的顺序如何,您都将成为repo1
中的杰克和repo2
中的Jill。从git config
手册页:
If not set explicitly with --file, there are four files where git config will search for configuration options:
$GIT_DIR/config
Repository specific configuration file.
~/.gitconfig
User-specific configuration file. Also called "global" configuration file.
$XDG_CONFIG_HOME/git/config
Second user-specific configuration file. If $XDG_CONFIG_HOME is not set or empty, $HOME/.config/git/config will be used. Any single-valued variable
set in this file will be overwritten by whatever is in ~/.gitconfig. It is a good idea not to create this file if you sometimes use older versions of
Git, as support for this file was added fairly recently.
$(prefix)/etc/gitconfig
System-wide configuration file.
Git按顺序加载这些文件。您的本地存储库.git/config
优先于~/.gitconfig
,优先于$HOME/.config/git/config
,优先于/etc/gitconfig
。此外:
All writing options will per default write to the repository specific configuration file. Note that this also affects options like --replace-all and
--unset. git config will only ever change one file at a time.
--global
标记不会更改系统中的每个.git/config
,只有~/.gitconfig
。