2014-09-06 6 views
5

podoba mi się sposób, że następujące polecenie wypisuje logi git:Włączenie parametry dziennika git domyślnie

git log --oneline --decorate --graph 

chciałbym aby to format domyślny, gdy używam dziennik git. Czy istnieje sposób edycji ~/.gitconfig, aby domyślnie włączyć linię na osi, dekorowanie i wykres?

I tak, jestem świadomy, że mogę alias tych opcji do innego aliasu polecenia git, ale wolałbym, aby ten dziennik wydrukował przy użyciu tych opcji domyślnie.

Odpowiedz

3

Git pozwala aktywować --oneline i --decorate domyślnie log, show itp .:

git config --global format.pretty oneline 
git config --global log.decorate short 

Jednak od v2.1.0 V2.2.2, Git nie pozwala aktywować --graph domyślnie. Jednym ze sposobów obejścia że (zaadaptowane z this SuperUser answer) jest zdefiniowanie następujących funkcji w pliku .<shell>rc:

git() { 
    if [ "$1" = "log" ] 
    then 
     command git log --graph "${@:2}"; 
    else 
     command git "[email protected]"; 
    fi; 
} 

Jedno zastrzeżenie (wskazał hvd w his comment): jeśli określić opcje między git i log, jak w

git -c log.showroot=false log -p 

następnie, ponieważ pierwszy argument jest -c i nie log, nie będą stosowane --oneline --decorate --graph flagi.

+1

Wygląda dobrze (i jest dobrze zauważony, że 'log' nie powinien się powtarzać, i byłby z moją sugestią), chociaż wciąż istnieje małe ryzyko z' git -c log.showroot = false log -p': 'log 'nie jest tutaj pierwszym argumentem. – hvd

+1

Być może trzymać się tylko '--graph' w funkcji powłoki, a reszta w git config? '--graph' jest jedynym, którego nie można zdefiniować w konfiguracji git i powinniśmy zawsze używać wbudowanego narzędzia tam, gdzie to możliwe. W przeciwnym razie przesłonisz konfiguracje 'format.pretty' i' log.decorate' na całym świecie, jeśli może to być specyficzne dla repozytorium. – TheLonelyGhost

+0

@TheLonelyGhost Lepiej późno niż wcale! Słuszna uwaga; naprawiony. – Jubobs

Powiązane problemy