我有一个我找不到的别名。输入git help subaddvim
会给我:
`git subaddvim' is aliased to `log HEAD'
我想我是这样定义的:
git config --local alias.subaddvim 'log HEAD'
我查看了$repo_path/.gitconfig
,~/.gitconfig
,/etc/gitconfig
,但他们都没有subaddvim条目。
我还能在哪儿看?
答案 0 :(得分:8)
Scott Chacon的excellent book "Pro Git"涵盖了存储内容的位置,以及传递给git config
读取/写入该位置的选项:
Git附带了一个名为git config的工具,可以让你获取和设置 控制Git外观和方式的所有方面的配置变量 运行。这些变量可以存储在三个不同的位置:
/ etc / gitconfig file:包含系统上每个用户的值 他们所有的存储库。如果您将选项 - system 传递给git config, 它专门从这个文件读取和写入。
〜/ .gitconfig文件: 具体到您的用户。你可以让Git读写这个文件 特别是通过传递 - 全球选项。
git中的配置文件 任何存储库的目录(即.git / config) 当前使用:特定于该单个存储库。每个级别 覆盖上一级别的值,因此.git / config中的值为trump / etc / gitconfig中的那些。
你可以让git告诉你使用--list
选项定义了什么:
# shows all settings
git config --list
# shows system settings
git config --list --system
# shows user settings
git config --list --global
# shows project settings
git config --list --local
答案 1 :(得分:5)
使用未记录的(或过时的)--local
标志和没有标志之间没有区别。 Git从不在您的存储库根目录($repo_path/.gitconfig
)中查找gitconfig。 Repo-local配置更改位于.git/config
。
git help config
解释了有效选项:
- 全球 对于写入选项:写入全局〜/ .gitconfig文件而不是 repository .git / config。
For reading options: read only from global ~/.gitconfig rather than from
all available files.
- 系统 对于写入选项:写入系统范围的$(前缀)/ etc / gitconfig 比存储库.git / config。
For reading options: read only from system-wide $(prefix)/etc/gitconfig
rather than from all available files.
(使用git版本1.7.9)
您可以尝试使用此搜索(来自您的repo root并假设git安装在/ bin中):
grep subaddvim .git/config ~/.gitconfig /etc/gitconfig