git - 与一个用户或所有用户相关的全局切换?

时间:2014-03-17 09:03:02

标签: linux git

假设我的Linux系统中有两个用户A和B.我以用户A登录。如果我使用此{/ p>的--global开关配置选项

git config --global user.name "my name"

这只会为用户A设置选项吗?或者它会影响用户:A和用户B

5 个答案:

答案 0 :(得分:5)

--global是用户级别。它写入$HOME/.gitconfig

--system是整个操作系统的全局。它写入$(prefix)/etc/.gitconfig

man git config了解更多详情。

答案 1 :(得分:4)

--global是为当前用户配置内容的选项。默认情况下,它会将数据存储在~/.gitconfig的主目录中,如果文件存在且./.config/git/config不存在,则会~/.gitconfig

--system是所有用户的选项,您可能需要root权限才能使用它,并将数据存储到/etc/gitconfig

如果您没有使用其中任何一个,那就是特定于repo的配置会进入.git/config

有关详细信息,请参阅OPTIONS section of git config's documentation

如果某个参数存在冲突,则较小的范围配置获胜。

答案 2 :(得分:2)

根据Git文档,Git使用一系列配置文件来确定您可能需要的非默认行为。 Git查找这些值的第一个位置是/ etc / gitconfig文件,该文件包含系统中每个用户及其所有存储库的值。如果将选项--system传递给git config,它会专门从该文件中读取和写入。

Git看起来的下一个地方是〜/ .gitconfig 文件,该文件特定于每个用户。您可以通过传递Git来读取和写入此文件。 - 全球选项。

最后,Git在您当前使用的任何存储库的Git目录(.git / config)中的配置文件中查找配置值。这些值特定于该单个存储库。每个级别都会覆盖前一级别的值,因此.git / config中的值会胜过/ etc / gitconfig中的值。

通过做

   git config --global user.name "my name"

它仅更改当前用户的设置/配置。

答案 3 :(得分:1)

--global仅影响当前用户主目录下的.gitconfig文件,因此它仅适用于用户A,但不适用于用户B.

对于所有用户,都有--system选项。

--global
    For writing options: write to global ~/.gitconfig file rather than the repository .git/config.

    For reading options: read only from global ~/.gitconfig rather than from all available files.


--system
    For writing options: write to system-wide $(prefix)/etc/gitconfig rather than the repository .git/config.

    For reading options: read only from system-wide $(prefix)/etc/gitconfig rather than from all available files.

答案 4 :(得分:0)

它是关于当前用户的全局设置(您登录的用户)