Перегляд повної версії дерева в git


114

Я використовую версію Git і gitk командного рядка. Я хочу бачити дерево повної версії, а не лише ту частину, яку можна отримати з перевіреної на даний момент версії. Це можливо?

Відповіді:


79

Ви можете спробувати наступне:

gitk --all

Ви можете сказати, gitkщо відображати, використовуючи все, що git rev-listрозуміє , тому, якщо вам потрібно лише кілька гілок, ви можете зробити:

gitk master origin/master origin/experiment

... або більше екзотичних речей, таких як:

gitk --simplify-by-decoration --all

291

якщо у вас немає графічного інтерфейсу, ви також можете роздрукувати графік фіксації в командному рядку:

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

якщо ця команда скаржиться на недійсний варіант --lineline, використовуйте:

git log --pretty=oneline --graph --decorate --all

6
кому потрібен gitk, коли у нас є gitl! alias gitl = 'git log --oneline --graph --decorate --all'
кролик

10
alias gl='git log --oneline --graph --decorate --all'. Навіщо набирати більше, ніж потрібно;)
Дана Вудман

Я маю надію, скорочення командного рядка були придумані до завершення вкладки. Вони виграють лише тим, хто багато використовує ці команди, і тим, хто має шалені спогади.
aaaaaa

121
  1. Коли я перебуваю на своєму робочому місці лише з терміналом, я використовую:

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

    введіть тут опис зображення

  2. Коли ОС підтримує графічний інтерфейс, я використовую:

    gitk --all

    введіть тут опис зображення

  3. Коли я перебуваю в домашньому ПК з Windows, я використовую власний GitVersionTree

    введіть тут опис зображення


Ідеальна відповідь для мене. Моя ОС підтримує графічний інтерфейс, тому другий варіант - це мій шлях, але скажемо, що я просто хочу заглянути граф з командного рядка дуже швидко: чи є спосіб, щоб уникнути набору всіх цих комутаторів з першої версії, або ви просто повторно набирайте їх постійно? Дякую.
rchrd

1
@rchrd Я б встановив їх як псевдоніми, запустивши, git config --global alias.ver "log --oneline --graph --color --all --decorate"і лише git verпісля цього потрібно ввести .
контрольна сума

23

На те саме запитання є дуже гарна відповідь .
Додавання наступних рядків до "~ / .gitconfig":

[alias]
lg1 = log --graph --abbrev-commit --decorate --date=relative --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all
lg2 = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n''          %C(white)%s%C(reset) %C(dim white)- %an%C(reset)' --all
lg = !"git lg1"

5

Репутації недостатньо, щоб прокоментувати відповідь на трикотаж, тому:

Якщо вам не потрібна назва філії чи тегу:
git log --oneline --graph --all --no-decorate

Якщо вам навіть колір не потрібен (щоб уникнути послідовності ключів під час передачі):
git log --oneline --graph --all --no-decorate --no-color

Ви можете скористатися псевдонімом (у .gitconfig) для полегшення життя:

[alias]
  tree = log --oneline --graph --all --no-decorate

Набирає чинності лише остання опція, тому можливо навіть змінити свій псевдонім:
git tree --decorate

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.