2016-09-01 1 views
1

나는 다음과 같은 명령은 표준 입력에서 텍스트를 소요하고 커밋 로그 메시지로 사용 이해 표준 입력 모드 "Git Bash는 메시지 (reading log message from standard input)을 표시하고 어떤 종류의 입력을 기다리고 있습니다. 내 질문은이 모드가 정말로 무엇이며 전혀 사용할 수 있습니까? 텍스트를 입력하고 ctrl-zctrl-c을 사용하여 종료했지만 나중에 성공적으로 실행하기 위해 커밋하는 데 운이 없었습니다. 그것은 단지 나를 다시 프롬프트로 데려 갈 것이다.Windows 용 Git Bash에서`git commit -F -`에 "표준 입력 모드"를 사용하는 이유는 무엇입니까? "그냥 <code>git commit -F -</code>로있는 경우 다음 내가 부르는 당신을 제공,</p> <pre><code>echo "hello world" | git commit -F - </code></pre> <p>그러나 :

질문 : 실제로 "표준 입력 모드"에서 수행중인 작업이며 커밋 로그 메시지를 성공적으로 입력하는 데 사용할 수 있습니까?

편집 : ctrl-d을 시도했지만 아무 것도 변경되지 않았습니다. Windows 10을 사용하고 있습니다.

답변

2

- in 명령을 사용하면 응용 프로그램에 STDIN을 읽도록 지시합니다. Git은 STDIN이 비어 있다는 것을 알게된다. 메시지를 입력하면 EOF 메시지를 보내 완료했음을 알려야합니다.

echo hello | git commit -F - 텍스트를 git으로 파이핑하므로 파이프 된 메시지가 사용됩니다. 힘내 배쉬 콘솔에서 Windows에서 git commit -F -를 사용하려면, 당신은 그래서 winpty에 명령을 추가해야합니다에서

~ blockloop

:

winpty git commit -F -

을 그 후, 당신은 것입니다 예상대로 "표준 입력 모드"로 이동하십시오. 대신 리눅스 및 Mac와 마찬가지로, CTRL + 에게 눌러 CTRL + Z를 D를 사용 다음 새로운 라인에을 누릅니다. 이것은 EOF를 표시하고 커밋 로그 메시지를 저장합니다.

당신이 CTRL + 메시지와 같은 줄에 Z을 누르면, 다음 ^Z 옆에 메시지 일어날 것 아무것도에 텍스트로 입력됩니다. CTRL + Z을 누른 다음 ENTER을 빈 줄에 입력해야합니다.

그래서, blockloop의 예를 편집하려면

winpty git commit -F - 
my message blah blah<enter> 
<CTRL-Z><enter> 

출처 : Github

+0

감사합니다. – blockloop

+0

문제 없습니다! 설명에있는 내용이 이해가되지 않는 경우 알려 주시면 명확히하려고 노력하겠습니다. – Dash

1

메시지를 입력 한 후 CTRL-D (EOF)를 사용하십시오. CTRL-C가 종료되고 CTRL-Z가 일시 중지됩니다. EOF는 메시지가 완전하다는 것을 STDIN에 알립니다. 당신이 명령에 -을 사용하는 경우

git commit -F - 
my message blah blah<enter> 
<CTRL-D> 

그것은 STDIN에서 읽을 수있는 응용 프로그램을 알려줍니다. Git은 STDIN이 비어 있다는 것을 알게된다. 메시지를 입력했으면 EOF 메시지를 보내어 작업이 완료되었음을 알리십시오. EOF의 키 조합은 CTRL-D

입니다. echo hello | git commit -F -을 실행하면 텍스트를 git으로 파이프 처리하므로 파이프 메시지가 사용됩니다.

이상한 점이 있으시면 git commit -m 'your message here'을 사용하지 않으시겠습니까?

+0

나는 노력했지만 행운은 없다. 아무것도 바뀌지 않습니다. 하지만, 정교한 주셔서 감사합니다! 아아 ... "\ 0", "\ n"및 "\ eof"도 시도했습니다 – Dash

+0

메시지를 입력했으면 Enter 키를 눌러 새 줄을 입력 한 다음 CTRL-D를 누릅니다 – blockloop

+0

사용중인 OS는 무엇입니까? – blockloop

0

당신은 SHIFT + ESC 및 삽입 q를 눌러 입력 한 후를 시도 할 수 있습니다.

+0

불행히도, 이것도 작동하지 않았다. 힘내 사람들이 그것에 대해 뭐라고해야하는지에 대해 정말 궁금합니다. – Dash

관련 문제