Xem cây phiên bản đầy đủ trong git


115

Tôi đang sử dụng phiên bản dòng lệnh của Git và gitk. Tôi muốn xem cây phiên bản đầy đủ, không chỉ phần có thể truy cập từ phiên bản hiện đã kiểm tra. Có khả thi không?

Câu trả lời:


79

Bạn có thể thử những cách sau:

gitk --all

Bạn có thể biết gitknhững gì sẽ hiển thị bằng bất kỳ thứ gì có git rev-listthể hiểu được , vì vậy nếu bạn chỉ muốn có một vài nhánh, bạn có thể làm:

gitk master origin/master origin/experiment

... hoặc những thứ kỳ lạ hơn như:

gitk --simplify-by-decoration --all

292

nếu bạn không có sẵn giao diện đồ họa, bạn cũng có thể in ra biểu đồ cam kết trên dòng lệnh:

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

nếu lệnh này khiếu nại với một tùy chọn không hợp lệ --oneline, hãy sử dụng:

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

6
ai cần gitk khi chúng tôi có gitl! alias gitl = 'git log --oneline --graph --decorate --all'
Sấm Rabbit

10
alias gl='git log --oneline --graph --decorate --all'. Tại sao phải nhập nhiều hơn mức cần thiết;)
Dana Woodman

Tôi hy vọng các từ viết tắt dòng lệnh đã được phát minh trước khi hoàn thành tab. Chúng chỉ có lợi cho những người sử dụng nhiều lệnh đó và những người có trí nhớ điên cuồng.
aaaaaa

121
  1. Khi tôi ở nơi làm việc chỉ với thiết bị đầu cuối, tôi sử dụng:

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

    nhập mô tả hình ảnh ở đây

  2. Khi HĐH hỗ trợ GUI, tôi sử dụng:

    gitk --all

    nhập mô tả hình ảnh ở đây

  3. Khi tôi sử dụng PC Windows tại nhà, tôi sử dụng GitVersionTree của riêng mình

    nhập mô tả hình ảnh ở đây


Câu trả lời hoàn hảo cho tôi. Hệ điều hành của tôi hỗ trợ GUI nên tùy chọn thứ hai là cách của tôi nhưng giả sử tôi chỉ muốn xem qua đồ thị từ dòng lệnh rất nhanh: có cách nào đó để tránh nhập tất cả các công tắc đó từ phiên bản đầu tiên không, hoặc bạn chỉ cần ... gõ chúng mọi lúc? Cảm ơn bạn.
rchrd

1
@rchrd Tôi sẽ đặt chúng làm bí danh bằng cách chạy git config --global alias.ver "log --oneline --graph --color --all --decorate"và chỉ cần nhập git versau đó.
tổng kiểm tra

23

Có một câu trả lời rất tốt cho cùng một câu hỏi.
Thêm các dòng sau vào "~ / .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

Danh tiếng không đủ để bình luận về câu trả lời của daoyttl, vì vậy:

Nếu bạn không cần tên chi nhánh hoặc thẻ:
git log --oneline --graph --all --no-decorate

Nếu bạn thậm chí không cần màu sắc (để tránh chuỗi phím khi được đưa ra):
git log --oneline --graph --all --no-decorate --no-color

Bạn có thể muốn sử dụng bí danh (trong .gitconfig) để làm cho cuộc sống dễ dàng hơn:

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

Chỉ có tùy chọn cuối cùng mới có hiệu lực, vì vậy bạn thậm chí có thể ghi đè bí danh của mình:
git tree --decorate

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.