我的git别名存储在哪里?

时间:2012-07-31 19:36:04

标签: git alias

我有一个我找不到的别名。输入git help subaddvim会给我:

`git subaddvim' is aliased to `log HEAD'

我想我是这样定义的:

git config --local alias.subaddvim 'log HEAD'

我查看了$repo_path/.gitconfig~/.gitconfig/etc/gitconfig,但他们都没有subaddvim条目。

我还能在哪儿看?

2 个答案:

答案 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