Where is my git alias stored?

前端 未结 2 384
一个人的身影
一个人的身影 2021-01-03 21:48

I have an alias that I cannot find. Typing git help subaddvim gives me:

`git subaddvim\' is aliased to `log HEAD\'

I think I d

相关标签:
2条回答
  • 2021-01-03 22:16

    Scott Chacon's excellent book "Pro Git" covers where things are stored, and what options to pass to git config to read/write to that location:

    Git comes with a tool called git config that lets you get and set configuration variables that control all aspects of how Git looks and operates. These variables can be stored in three different places:

    • /etc/gitconfig file: Contains values for every user on the system and all their repositories. If you pass the option --system to git config, it reads and writes from this file specifically.

    • ~/.gitconfig file: Specific to your user. You can make Git read and write to this file specifically by passing the --global option.

    • config file in the git directory (that is, .git/config) of whatever repository you’re currently using: Specific to that single repository. Each level overrides values in the previous level, so values in .git/config trump those in /etc/gitconfig.

    You can have git tell you what's defined where using the --list option:

    # 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
    
    0 讨论(0)
  • 2021-01-03 22:26

    There is no difference between using the undocumented (or is it obsolete) --local flag and no flag. Git never looks for a gitconfig in your repository root ($repo_path/.gitconfig). Repo-local config changes are in .git/config.

    git help config explains the valid options:

    --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.
    

    (Using git version 1.7.9)

    You could try searching with this (from your repo root and assuming git is installed in /bin):

    grep subaddvim .git/config ~/.gitconfig /etc/gitconfig
    
    0 讨论(0)
提交回复
热议问题