储存在哪里git的别名?(Where is my git alias stored?)

2019-06-26 16:12发布

我有一个别名,我无法找到。 键入git help subaddvim给我:

`git subaddvim' is aliased to `log HEAD'

我想我将它定义是这样的:

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

我看着在$repo_path/.gitconfig~/.gitconfig/etc/gitconfig ,但他们都没有一个subaddvim条目。

我还能在哪里看?

Answer 1:

斯科特·查孔的优秀图书“临Git的”覆盖了东西存储和传递什么选项git config读取/写入到该位置:

Git自带了一个工具,叫做混帐配置,让您获取和设置控制的Git是如何的外观和运作各方面配置变量。 这些变量可以存储在三个不同的地方:

  • 在/ etc / gitconfig文件:包含系统及其所有存储库中的每个用户的值。 如果你通过选项--system与git的配置,它读取并从该文件中明确写道。

  • 〜/的.gitconfig文件:具体到你的用户。 您可以阅读的Git,特别通过传递--global选项写入该文件。

  • 在git的目录配置文件(即的.git /配置),无论库您目前使用的:具体到单一的存储库。 每个级别覆盖值以前的水平,所以在git的/配置王牌那些在/ 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


Answer 2:

存在使用无证之间没有差异(或者是作废) --local标志和无标记。 混帐从不寻找在你的仓库根gitconfig( $repo_path/.gitconfig )。 回购本地配置的变化是.git/config

git help config说明有效选项:

--global对于写作的选项:写入全球〜/的.gitconfig文件,而不是库的.git / config中。

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

--system对于写作的选项:写全系统$(前缀)的/ 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)

你可以试试这个搜索(从您的回购根,假设Git是安装在/箱):

grep subaddvim .git/config ~/.gitconfig /etc/gitconfig


文章来源: Where is my git alias stored?
标签: git alias