Làm thế nào để thoát khỏi danh sách 'trạng thái git' trong một thiết bị đầu cuối?


339

Tôi mới đến Git và thiết bị đầu cuối. Làm thế nào tôi có thể thoát một chế độ liệt kê được tạo bởi git statuslệnh?

Câu trả lời:


501

Tôi phải đoán ở đây, nhưng git có thể đang chạy đầu ra của nó vào chương trình $ PAGER của bạn, có khả năng lesshoặc more. Trong cả hai trường hợp, gõ qsẽ giúp bạn ra ngoài.


10
Máy nhắn tin được sử dụng bởi git được chọn bởi core.pagerbiến cấu hình (nếu được đặt), sau đó biến môi trường GIT_PAGER, sau đó biến môi trường PAGER, sau đó lesslà dự phòng.
Jakub Narębski

2
Cảm ơn một lần nữa, hầu hết thời gian tôi sử dụng để bắt đầu lại. Tôi cũng là người mới ..
Sayari

4
Cảm ơn bạn! Đây là một món quà từ Zeus trên cao. Bạn vừa tiết kiệm cho mông của tôi một giờ tốt của Google.
Padawan

152
:q

Đó thực sự là một lệnh ít hơn . Nó sử dụng các lệnh tương tự như vi .


9
Nếu nó ít hơn, thì không cần dấu hai chấm (:). Bạn đang suy nghĩ nếu vi!
Carl Smotricz

2
Nếu bạn gặp lỗi E37: Không ghi từ thay đổi cuối cùng (thêm! Để ghi đè) , hãy thực hiện những gì nó nói và sử dụng:q!
Noumenon

1
:qlà những gì cần thiết cho tôi mặc dù thiết bị đầu cuối nằm trong less.exe chỉ q không làm gì cả. Cảm ơn @RageZ
Chris

bạn đã cứu mạng tôi.
AKJ

106

Nhập 'q' và nó sẽ thực hiện công việc.

Bất cứ khi nào bạn ở nhà ga và cũng có một tình huống khó khăn tương tự, hãy nhớ và thử 'thoát', 'thoát' cũng như tổ hợp phím hủy bỏ 'Ctrl + C'.


4
Tôi đã sử dụng 'Ctrl + Z' và kết thúc với rất nhiều quá trình git bị hủy bỏ khi tôi chạy ps -ax. Không biết về q.
breakindexfinger

3
Ctrl + Z đặt các tác vụ trong nền, vì vậy điều đó có ý nghĩa. Cá nhân tôi không thể lấy Ctrl + C để đóng nó. q hoạt động.
Amalgovinus

Ctrl + C và Ctrl + X không hoạt động, chỉ :qcó thể thoát ra cho tôi.
Chris Marisic

Tôi đã gõ có cho một câu hỏi yêu cầu tôi gõ có hoặc không. Tôi nhấn q, escvà nhiều chìa khóa khác và không ai trong số họ làm việc cho đến khi tôi có thể đi ngang qua CTRL + Cvà nó đã đưa tôi ra khỏi đó!
Mohammed Mishal

15

cho cửa sổ :

Ctrl + q và c để thoát khỏi tình huống đang chạy.


13

qhoặc SHIFT+ qsẽ thực hiện các mẹo. Điều này sẽ giúp bạn có được ra khỏi nhiều phiên trang di chuyển rộng như git status, git show HEAD, git diffvv Điều này sẽ không thoát khỏi cửa sổ của bạn hoặc kết thúc phiên của bạn.


7

Combo ưa thích của tôi là Gq, in tất cả các khác biệt và sau đó thoát.

Bạn có thể gõ hđể hiển thị các lệnh trợ giúp để tương tác với ít hơn, bản in này ra bàn điều khiển:

                   SUMMARY OF LESS COMMANDS

      Commands marked with * may be preceded by a number, N.
      Notes in parentheses indicate the behavior if N is given.

  h  H                 Display this help.
  q  :q  Q  :Q  ZZ     Exit.
 ---------------------------------------------------------------------------

                           MOVING

  e  ^E  j  ^N  CR  *  Forward  one line   (or N lines).
  y  ^Y  k  ^K  ^P  *  Backward one line   (or N lines).
  f  ^F  ^V  SPACE  *  Forward  one window (or N lines).
  b  ^B  ESC-v      *  Backward one window (or N lines).
  z                 *  Forward  one window (and set window to N).
  w                 *  Backward one window (and set window to N).
  ESC-SPACE         *  Forward  one window, but don't stop at end-of-file.
  d  ^D             *  Forward  one half-window (and set half-window to N).
  u  ^U             *  Backward one half-window (and set half-window to N).
  ESC-)  RightArrow *  Left  one half screen width (or N positions).
  ESC-(  LeftArrow  *  Right one half screen width (or N positions).
  F                    Forward forever; like "tail -f".
  r  ^R  ^L            Repaint screen.
  R                    Repaint screen, discarding buffered input.
        ---------------------------------------------------
        Default "window" is the screen height.
        Default "half-window" is half of the screen height.
 ---------------------------------------------------------------------------

                          SEARCHING

  /pattern          *  Search forward for (N-th) matching line.
  ?pattern          *  Search backward for (N-th) matching line.
  n                 *  Repeat previous search (for N-th occurrence).
  N                 *  Repeat previous search in reverse direction.
  ESC-n             *  Repeat previous search, spanning files.
  ESC-N             *  Repeat previous search, reverse dir. & spanning files.
  ESC-u                Undo (toggle) search highlighting.
        ---------------------------------------------------
        Search patterns may be modified by one or more of:
        ^N or !  Search for NON-matching lines.
        ^E or *  Search multiple files (pass thru END OF FILE).
        ^F or @  Start search at FIRST file (for /) or last file (for ?).
        ^K       Highlight matches, but don't move (KEEP position).
        ^R       Don't use REGULAR EXPRESSIONS.
 ---------------------------------------------------------------------------

                           JUMPING

  g  <  ESC-<       *  Go to first line in file (or line N).
  G  >  ESC->       *  Go to last line in file (or line N).
  p  %              *  Go to beginning of file (or N percent into file).
  t                 *  Go to the (N-th) next tag.
  T                 *  Go to the (N-th) previous tag.
  {  (  [           *  Find close bracket } ) ].
  }  )  ]           *  Find open bracket { ( [.
  ESC-^F <c1> <c2>  *  Find close bracket <c2>.
  ESC-^B <c1> <c2>  *  Find open bracket <c1> 
        ---------------------------------------------------

5

trước hết bạn cần thiết lập tùy chọn kết thúc dòng trong termnial

git config --global core.autocrlf input
git config --global core.safecrlf true

Sau đó, bạn có thể sử dụng :q


1
Một lưu ý cho người dùng Windows: Đối với tôi, việc thêm các dòng này dẫn đến việc không thể thêm tệp vào theo dõi (gây tử vong: CRLF sẽ được thay thế bằng LF trong README.md). Vì vậy, nếu bạn đang sử dụng Windows, vui lòng thêm git config --global core.autocrlf truethay vào đó, nó sẽ thực hiện công việc.
Đồng

4

Bạn có thể tắt máy nhắn tin cho các lệnh không nhận --no-pagercờ.

git config --global pager.<command> false

Tôi vô hiệu hóa các bí danh đăng nhập và đặt số lượng cụ thể để trả về.

git config --global pager.log false

3

Trước khi nhấn các lệnh thoát (q, v.v.), hãy kiểm tra ngôn ngữ nhập hiện tại: nếu đó không phải là các lệnh tiếng Anh có thể không hoạt động.




1

Nếu bạn đang phải đối mặt với điều này?

nhập mô tả hình ảnh ở đây Đôi khi có thể trong khi viết bằng Gitbash, bạn có thể vào> và bạn không thể thoát ra khỏi điều đó.
Nó xảy ra với tôi khá thường xuyên trong khi tôi gõ 'do nhầm lẫn trong Gitbash (Xem trong hình).

Làm thế nào để giải quyết điều này trong Mac?

kiểm soát + C

Tôi chưa kiểm tra nó trong Windows. Nhưng nếu có, xin vui lòng chỉnh sửa nó trong câu trả lời của tôi.


0

Nếu bạn đang ở trên git bash, hãy thử sử dụng exit;

Tôi đã thử sử dụng q hoặc ctrl + q nhưng chúng không hoạt động trên bash.


-4

exitđã làm điều đó cho tôi. Kết quả của tôi sau khi nhấn trở lại;

my-mac:Car Game mymac$ exit
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
    ...completed.
[Process completed]

điều này giống như đóng toàn bộ cửa sổ, câu hỏi yêu cầu thoát khỏi phiên git như trong ssh
yosemite_k
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.