Nie można wyświetlić drzewa Gita w terminalu

Killswitchcollective.com stary artykuł z dnia 30 czerwca 2009 r. zawiera następujące dane wejściowe i wyjściowe

git co master
git merge [your_branch]
git push

upstream    A-B-C-D-E            A-B-C-D-E-F-G
                 \        ---->               \
your branch       C-D-E                        G

Jestem ciekaw, jak uzyskać widok commitów w swoim terminalu bez użycia Gitk lub Gitx w OS / X.

Jak można uzyskać widok commitów podobny do drzewa w terminalu?

Author: snv, 2009-06-30

5 answers

Jak można uzyskać drzewopodobny widok commitów w terminalu?

git log --graph --oneline --all
To dobry początek. Możesz dostać dziwne listy. Są to kody ASCII dla kolorów i struktury. Aby rozwiązać ten problem Dodaj do swojego .bashrc:
export LESS="-R"

Takie, że nie trzeba używać Tig ' s ASCII filter by

git log --graph --pretty=oneline --abbrev-commit | tig   // Masi needed this 

Artykuł Graf tekstowy z git-ready zawiera inne opcje:

git log --graph --pretty=oneline --abbrev-commit

git log graph

Jeśli chodzi o artykuł, o którym wspominasz, chciałbym pójść z odpowiedzią Pod : ad-hoc ręcznie robione wyjście.


Jakub Narębski wspomina w komentarzach tig, interfejs tekstowy oparty na ncurses dla git. Zobacz ich Wydania .
W 2007 roku dodano opcję a --graph .

 600
Author: VonC,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:33:26

Rozwiązaniem jest utworzenie aliasu w twoim .gitconfig i łatwe wywołanie go:

[alias]
    tree = log --graph --decorate --pretty=oneline --abbrev-commit

I kiedy zadzwonisz następnym razem, użyjesz:

git tree

Aby umieścić go w swoim~/.gitconfig bez konieczności edycji, można zrobić:

git config --global alias.tree "log --graph --decorate --pretty=oneline --abbrev-commit"  

(Jeśli nie użyjesz --global, umieścisz go w .git / config twojego bieżącego repo.)

 252
Author: Marouane Gazanayi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-06 08:44:21
git log --oneline --decorate --all --graph

Wizualne drzewo z dołączonymi nazwami gałęzi.

Użyj tego, aby dodać go jako alias

git config --global alias.tree "log --oneline --decorate --all --graph"

Nazywasz to

git tree

Git Tree

 100
Author: Sebastian Patten,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-05 20:51:40

tig

Jeśli chcesz mieć interaktywne drzewo, możesz użyć tig. Może być zainstalowany przez brew na OSX i apt-get w Linuksie.

brew install tig
tig

Oto co dostajesz:

Tutaj wpisz opis obrazka

 46
Author: Mohsen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-16 22:31:04

Utrzymywanie krótkich poleceń ułatwi ich zapamiętanie:

git log --graph --oneline
 1
Author: JSON C11,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-19 21:38:19