2012-07-31 12 views
6

Mam alias, którego nie mogę znaleźć. Wpisanie git help subaddvim daje mi:Gdzie jest przechowywany mój alias git?

`git subaddvim' is aliased to `log HEAD' 

myślę zdefiniowane tak:

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

Zajrzałem $repo_path/.gitconfig, ~/.gitconfig, /etc/gitconfig, ale żaden z nich nie posiada wpisu subaddvim.

Gdzie jeszcze mogę wyglądać?

Odpowiedz

4

Nie ma różnicy między używaniem nieudokumentowanej (lub nieaktualnej) flagi --local i bez flagi. Git nigdy nie szuka gitconfig w katalogu głównym twojego repozytorium ($repo_path/.gitconfig). Repo-lokalne zmiany konfiguracji są w .git/config.

git help config wyjaśnia ważne opcje:

--global Dla opcji zapisu: napisz do globalnego pliku ~/.gitconfig aniżeli repozytorium .git/config.

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

--system Dla opcji zapisu: napisz do całego systemu $ (prefiksu)/etc/gitconfig raczej niż repozytorium .git/config.

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

(wersja 1.7.9 Korzystanie git)

można spróbować wyszukiwanie z tym (z korzenia repo i zakładając git jest zainstalowany w/bin):

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

Scott Chacon na excellent book "Pro Git" obejmuje, gdzie przechowywane są rzeczy i jakie opcje należy przekazać do git config, aby odczytać/zapisać w tej lokalizacji:

Git jest wyposażony w narzędzie o nazwie git config, które pozwala uzyskać i ustawić zmienne konfiguracyjne , które kontrolują wszystkie aspekty działania Git i funkcjonuje . Zmienne te mogą być przechowywane w trzech różnych miejscach:

  • plik/etc/gitconfig: Zawiera wartości dla każdego użytkownika w systemie i wszystkich swoich repozytoriach. Jeśli przełączysz opcję --system na git config, , to odczytuje i zapisuje z tego pliku konkretnie.

  • ~/.gitconfig file: Specyficzny dla Twojego użytkownika. Możesz sprawić, że Git odczytuje i zapisuje do tego pliku specyficznie, przekazując opcję - globalną.

  • plik konfiguracyjny w katalogu git (czyli .git/config) niezależnie od repozytorium jesteś obecnie za pomocą: specyficzny dla tego jednego repozytorium. Każdy poziom zastępuje wartości na poprzednim poziomie, więc wartości w .git/config trump tych w/etc/gitconfig.

Można mieć git powiedzieć, co określono w którym za pomocą opcji --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 
Powiązane problemy