2012-02-28 8 views
464

Git Immersion의 도움으로 힘내를 배우려고합니다. 나는이 (END) 단어가 발생하는 경우 다음을 무슨 일을하는지 알 수 없을git log 또는 git diff를 종료하는 방법은 무엇입니까?

Git log shows (END) marker

: 나는 git log 또는 git diff를 사용할 때마다 나를 좌절 한 가지가있다. 어떤 명령도 입력 할 수 없으며 현재의 bash를 닫고 다른 것을 열어 버립니다. 사용할 다음 명령을 어떻게 입력합니까?

+16

어머,이 질문은 Google에 꽤 어려웠다. 나는 이미 내 자신에게 물어볼 예정이었다. 당신과 larsmans 감사합니다! – lonelyass

+11

q + Enter를 사용하여 종료 한 후에도 입력을 다시 시작할 때마다 이 다시 나타납니다. 그것은 나의 첫 번째 인물을 먹는다. 그런 다음 원하는 명령을 입력 할 수 있습니다. 그러나 나는이 행동을 전혀하지 않을 것입니다. 나는 윈도우에있어. 제안? –

+3

Windows 사용자 : q +를 먼저 입력해야합니다. cntl + c로 탈출하면 이상한 루프에 빠지게됩니다. 종료하려면 q + enter 만 사용하십시오. – STWilson

답변

684

프로그램에 있습니다. git log의 출력을 스크롤 할 수 있습니다.

q이 화면을 종료하십시오. 도움말을 보려면 h을 입력하십시오.

당신이 catGIT_PAGER 변수 환경을 정의하거나 (git config --global core.pager cat를 실행) cat-core.pager을 설정 호출기의 출력을 읽을 수와 그냥 터미널에 인쇄하지 않으려면.

+1

나는 vi를 빠져 나가기 위해 q :를 계속 누르고 있었다! 감사! – TastyCode

+1

@Affan : vi를 종료하려면': q'를 사용하십시오. 'q :'는': q'로 종료 할 수있는 명령 창을 엽니 다 (그러나이 명령은 vi를 종료하지 않습니다). –

+5

페이저를 한 번만 피하는 가장 간단한 방법은 "git log | cat"입니다. 또한 "git log>/tmp/foo"를 수행 한 다음 내 선택 편집기에서/tmp/foo를 확인합니다. 웬일인지, 그것은 나를 위해 더 잘 작동한다. –

17

END은 로그를 표시하는 데 사용 된 호출기에서 온 것입니다 (사용자가 현재 그 안에 있습니다). q을 입력하여 종료하십시오.

21

q을 눌러 종료 할 수 있습니다.

git hist은 호출기 도구를 사용하므로 콘솔로 돌아 오기 전에 결과를 위아래로 스크롤 할 수 있습니다.

9

실제로 세 가지 방법이 있습니다.

다음 3 가지 명령 중 하나를 입력하십시오.

  1. :
  2. Q : Z
    또는
  3. Ctrl + Z.

추신 : 때로는 누군가에게 이러한 옵션 중 하나가 작동하지 않는 것 같고 다른 옵션에서는 작동하는 경우가 있습니다.

2

CTRL + Z를 옵션으로 언급 한 주석에 약간의 칭찬을하고 싶습니다. 마지막에는 Git이 설치된 시스템과 텍스트 파일을 열 수있는 프로그램 (예 : vim 대 vim)을 결정합니다. CTRL + Z는 Windows의 vim에서 작동합니다.

Windows 환경에서 Git을 사용하는 경우 몇 가지 단점이 있습니다. 그들이 무엇인지 아는 데 도움이됩니다. (예 : 메모장 대 나노 등).

17

다음에 별칭을 추가하십시오.bashrc에

git --no-pager log --oneline -n 10 
  • --no-pager
  • -n 10는, 마지막 10
  • --oneline은 커밋 메시지가 표시됩니다 저지른 보여 저자을 무시합니다 (END) 단어, 날짜 정보를 발생합니다 파일
+0

'git --no-pager'는 제가 찾던 일입니다. 고마워요! – Zapko

2

이 경우 부끄럽스럽게 제안 된 것처럼 q을 입력하면을 종료 할 수 있습니다.(대부분의 다른 호출기 또는 호출기를 사용하는 응용 프로그램과 마찬가지로). 그냥 현재 실행되는 명령을 취소하려는 경우

그러나 일반적으로, 당신은 + C (단, git log 작동하지 않는 것) 또는 Ctrl + Z를 Ctrl 키를 시도 할 수 있습니다 (을에서 비록 bash, ctrl-z은 현재 실행중인 포 그라운드 프로세스를 중단하고 bg 명령을 사용하여 백그라운드 프로세스로 해동 할 수 있습니다.

관련 문제