Tại sao tôi phải nhấn 'Q' ở cuối 'git log'?


79

Xem xét:

git log -n 20 --pretty=oneline

Tôi đang nói với Git rằng tôi chỉ cần xem 20 lần cam kết cuối cùng. Tôi ghét phải đánh Qđể thoát khỏi KẾT THÚC. Có một lối thoát để tôi không phải đánh Q?

Câu trả lời:


83

Git tự động phân trang đầu ra cho bạn, vì các bản ghi có xu hướng dễ dàng làm tràn một kích thước cửa sổ đầu cuối duy nhất (bạn đang ở một trong những trường hợp ngoại lệ hiếm hoi - định dạng một dòng và giới hạn cam kết nhỏ). Nếu bạn không muốn điều này, hãy sử dụng:

git --no-pager log -n 20 --pretty=oneline

Lưu ý rằng điều này có nghĩa là bạn sẽ nhận được một số gói xấu xí, vì trước đó máy nhắn tin đã tắt gói cho bạn (vì bạn có thể sử dụng các phím con trỏ để cuộn sang trái-phải).


4
@DeckTrout Nếu không có bất kỳ thông tin nào, không ai có thể giúp bạn. Nếu bạn có thể quản lý để biết cụ thể về thiết lập của mình, bạn có thể thử đặt một câu hỏi mới. Câu trả lời này phù hợp với OP ở đây (và rất nhiều người khác) nên rõ ràng có điều gì đó khác với bạn.
Cascabel

1
Thêm l = !git --no-pager log -n 20 --pretty=onelinevào .gitconfigđể tạo bí danh ..
Savinghodhan

Trên Git dành cho Windows, điều này làm thay đổi điểm nổi bật của "commit insert-hash-here" từ Orange thành Yellow.
Unknow0059

26

Bạn có thể "tắt" phân trang git bằng cách yêu cầu nó sử dụng cat thay vì ít hơn. Sau đó, chuyển đầu ra qua ít hơn khi bạn muốn phân trang hoặc đi đầu nếu bạn chỉ muốn xem phần trên cùng, v.v.

git config --global core.pager cat

Tôi tắt tính năng phân trang tự động vì tôi thường chạy git từ bên trong emacs, thứ không cần và cũng không phát tốt với ít hơn.


Nhật ký git của tôi không kết thúc bằng một dòng mới, do đó, lời nhắc trình bao sau nhật ký nằm trên cùng dòng với cam kết cũ nhất của tôi. Tuy nhiên, mẹo hay, cảm ơn.
Kenny Rasschaert

13

lesschấp nhận -Fđối số để thoát tự động nếu nội dung vừa với một màn hình


8

git log -n 20 --pretty=oneline | cat

--no-pagertùy chọn ngắn hơn một chút nhưng cũng sẽ loại bỏ bất kỳ màu nào hiện có.


8

Nếu bạn muốn sử dụng --no-pagerbí danh, hãy thiết lập bí danh của bạn theo cách sau:

hist = !git --no-pager log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short

0

Dấu q được sử dụng để đóng chương trình dòng lệnh được sử dụng để xem nhật ký ...

Bạn có thể sử dụng một trình xem nhật ký khác, như gitk:

gitk -n 20

gitk rất hữu ích để xem đồ thị, v.v. Tôi đang tìm kiếm một giải pháp nhẹ. cảm ơn.
Nick Vanderbilt

0

Bí danh cho một lệnh nhật ký mà bạn không cần phải nhấp vào qđể biến nó đi:

git config --global alias.hist '!git --no-pager log --pretty=format:"%h %ad | %s%d [%an]" --graph --date=short --max-count=10'
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.