2013-01-27 26 views
15

Tôi đang sử dụng Git Shell (mô đun cho PowerShell) trên Windows. Đó là một trong đó đã được cài đặt khi tôi cài đặt Git cho Windows. Khi tôi chạy lệnh dẫn đến nhiều văn bản như git log, tôi nhận được một trang kết quả và sau đó là dấu ":" ở cuối màn hình. Tôi đoán đó là lời nhắc tiếp tục vì tôi nhấn ENTER và nhận một màn hình dữ liệu khác. Tôi thường không thể khôi phục lại một dấu nhắc bình thường sau khi điều này xảy ra mặc dù. Tôi nhận được các văn bản (END) ở dưới cùng của vỏ và có vẻ như nó che dấu vài ký tự đầu tiên của bất kỳ lệnh nào tôi cố gắng gõ và nó thậm chí có vẻ hành động một chút lẻ tẻ. Tôi không thể hình dung ra được. Bất kỳ ý tưởng?Tại sao kết quả lâu dài từ lệnh Git giết lời nhắc PowerShell của tôi?

+5

Nhấn phím 'Q' để thoát. Bạn có thể làm điều này khi ở END hoặc khi bạn thấy ':'. – vcsjones

+1

Ngẫu nhiên bạn có thể quan tâm đến [posh-git (PowerShell Git)] (https://github.com/dahlbyk/posh-git) – vcsjones

+0

@vcsjones, cảm ơn bạn. Tôi đã phải đóng giao diện điều khiển PowerShell của mình. – Knox

Trả lời

12

Một số lệnh git sử dụng máy nhắn tin để cho phép bạn xem một màn hình đầy thông tin cùng một lúc. Người đi kèm với git thường là less (more info). Bạn có thể truy cập liên kết cho các lệnh phổ biến, nhưng như bạn đã tìm thấy quan trọng nhất là q để thoát để quay lại dấu nhắc lệnh. Lần tiếp theo hữu ích nhất mà tôi đã tìm thấy là không gian để chuyển sang màn hình tiếp theo đầy đủ.

Bạn có thể thay đổi máy nhắn tin được sử dụng nếu bạn thích trong trường cấu hình của git config core.pager.

+1

Bạn cũng có thể giới hạn kết quả bạn nhận được từ nhật ký git bằng cách sử dụng lệnh {git log --pretty = oneline} – malgca

2

Đây là một câu hỏi cũ, nhưng tôi nghĩ tôi sẽ đề cập đến việc git cũng cung cấp tùy chọn --no-pager để bạn tận dụng.

git --no-pager log 

Hy vọng sẽ giúp ai đó.

+0

Điều đó mới đối với tôi và tôi đánh giá cao nó. –

2

Chỉ cần để thêm vào các câu trả lời hiện có, bình thường "cửa sổ" pager là more.com, mà thường được tham chiếu từ cmd một cách đơn giản more, nhưng ẩn bởi hàm more với chức năng tương tự trong PowerShell. Nếu bạn đặt

git config --global core.pager more.com 

vấn đề của bạn sẽ biến mất (mặc dù chi phí tính năng ít hơn nhưng không nhiều hơn).

Các vấn đề liên quan