Melihat pohon versi lengkap di git

115

Saya menggunakan versi baris perintah Git dan gitk. Saya ingin melihat pohon versi lengkap, bukan hanya bagian yang dapat dijangkau dari versi yang saat ini diperiksa. Apa itu mungkin?

petersohn
sumber

Jawaban:

79

Anda dapat mencoba yang berikut ini:

gitk --all

Anda dapat mengetahui gitkapa yang akan ditampilkan menggunakan apa pun yang git rev-listmengerti , jadi jika Anda hanya menginginkan beberapa cabang, Anda dapat melakukan:

gitk master origin/master origin/experiment

... atau hal-hal yang lebih eksotis seperti:

gitk --simplify-by-decoration --all
Mark Longair
sumber
292

jika Anda kebetulan tidak memiliki antarmuka grafis yang tersedia, Anda juga dapat mencetak grafik komit pada baris perintah:

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

jika perintah ini mengeluh dengan opsi yang tidak valid --oneline, gunakan:

git log --pretty=oneline --graph --decorate --all
rajutan
sumber
6
siapa yang butuh gitk saat kita punya gitl! alias gitl = 'git log --oneline --graph --decorate --all'
Thunder Rabbit
10
alias gl='git log --oneline --graph --decorate --all'. Mengapa mengetik lebih dari yang dibutuhkan;)
Dana Woodman
Saya berharap singkatan baris perintah ditemukan sebelum penyelesaian tab. Mereka hanya menguntungkan mereka yang sering menggunakan perintah itu dan mereka yang memiliki ingatan gila.
aaaaaa
121
  1. Saat saya berada di tempat kerja dengan terminal saja, saya menggunakan:

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

    masukkan deskripsi gambar di sini

  2. Ketika OS mendukung GUI, saya menggunakan:

    gitk --all

    masukkan deskripsi gambar di sini

  3. Ketika saya berada di PC Windows rumah saya, saya menggunakan GitVersionTree saya sendiri

    masukkan deskripsi gambar di sini

checksum
sumber
Jawaban yang sempurna untuk saya. OS saya mendukung GUI jadi opsi kedua adalah cara saya untuk pergi tetapi katakanlah saya hanya ingin mengintip grafik dari baris perintah dengan sangat cepat: apakah ada cara untuk menghindari mengetik semua sakelar dari versi pertama, atau Anda hanya kembali ketik mereka sepanjang waktu? Terima kasih.
rchrd
1
@rchrd Saya akan mengaturnya sebagai alias dengan menjalankan git config --global alias.ver "log --oneline --graph --color --all --decorate"dan hanya perlu mengetik git versetelahnya.
checksum
23

Ada jawaban yang sangat bagus untuk pertanyaan yang sama.
Menambahkan baris berikut ke "~ / .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"
Daniil Shevelev
sumber
5

Reputasi tidak cukup untuk mengomentari jawaban knittl, jadi:

Jika Anda tidak membutuhkan nama cabang atau tag:
git log --oneline --graph --all --no-decorate

Jika Anda bahkan tidak membutuhkan warna (untuk menghindari urutan kunci saat disalurkan):
git log --oneline --graph --all --no-decorate --no-color

Anda mungkin ingin menggunakan alias (dalam .gitconfig) untuk membuat hidup lebih mudah:

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

Hanya opsi terakhir yang berlaku, jadi bahkan mungkin untuk mengganti alias Anda:
git tree --decorate

clarkttfu
sumber