Не удалось показать дерево Git в терминале

старая статья Killswitchcollective.com, 30 июня 2009 г., имеет следующие входы и выходы

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

Мне интересно, как вы получаете представление типа commite в своем терминале без использования Gitk или Gitx в OS/X.

Как вы можете получить древовидный вид коммитов в терминале?

Ответ 1

Как вы можете получить древовидный вид коммитов в терминале?

git log --graph --oneline --all

- хорошее начало.

Вы можете получить некоторые странные буквы. Это коды ASCII для цветов и структуры. Чтобы решить эту проблему, добавьте следующее к вашему .bashrc:

export LESS="-R"

так что вам не нужно использовать Tig ASCII-фильтр

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

В тексте текстового графика из Git -ready содержатся другие параметры:

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

git log graph

Относительно статьи, которую вы упомянули, я бы пошел с Ответом в ответ: специальный ручной выпуск.


Jakub Narębski упоминает в комментариях tig, интерфейс текстового режима на основе ncurses для git. См. их выпуски.
Он добавил a --graph вариант в 2007 году.

Ответ 2

Решением является создание псевдонима в вашем .gitconfig и его легко:

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

И когда вы позвоните в следующий раз, вы будете использовать:

git tree

Чтобы поместить его в ~/.gitconfig без необходимости его редактировать, вы можете:

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

(Если вы не используете -global, он поместит его в .git/config вашего текущего репо.)

Ответ 3

git log --oneline --decorate --all --graph

Визуальное дерево с включенными именами ветвей.

Используйте это, чтобы добавить его как псевдоним

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

Вы вызываете его с помощью

git tree

Git Tree

Ответ 4

tig

Если вы хотите дерево интерактивное, вы можете использовать tig. Он может быть установлен brew в OSX и apt-get в Linux.

brew install tig
tig

Это то, что вы получаете:

enter image description here

Ответ 5

Сохранение коротких команд облегчит их запоминание:

git log --graph --oneline