Vim으로 Git 커밋 메시지를 입력 할 때 발생하는 문제


146

운영체제 : Windows

나는 쓴다

$ git commit

그때

"# 커밋 메시지를 입력하십시오"

나는 같은 텍스트를 쓴다

"양식 검증 추가"

커밋되지 않은 Enter 키를 누릅니다. 그런 다음 Shift + Enter, Ctrl + Enter, Alt + Enter를 누릅니다-여전히 커밋되지 않았습니다.

어리석은 문제라고 생각하지만 어떻게해야합니까?


문제 없어요. 그러나 귀하의 질문은 아마도 슈퍼 유저에 대한 관심이
높아질 것입니다

답변:


232

Windows 용 VIM 인 경우 다음을 수행 할 수 있습니다.

  • 제시된 지침에 따라 메시지를 입력하십시오
  • 을 눌러 Esc삽입 모드를 벗어 났는지 확인하십시오
  • 그런 다음 :wqEnter또는 을 입력하십시오 ZZ.

VIM에는 종종 한 가지 방법으로 여러 가지 방법이 있습니다. 그래도 약간의 차이가 있습니다. :wqEnter항상있는 동안, 그것을 닫기 전에 현재 파일을 기록 ZZ, :xEnter, :xiEnter, :xitEnter, :exiEnter:exitEnter문서 경우에만 쓰기 수정 .
이 모든 동의어에는 다른 숫자의 키 누르기가 있습니다.



1
입력하면 :wq빈 커밋 메시지로 인해 ".git / COMMIT_EDITMSG"54L, 2316C 서면 중단 커밋 메시지가 표시됩니다.
칸나

메시지를 추가했는지 확인하십시오. "나의 메시지를 여기에 입력하십시오"와 같은 메시지가 나타나면 (삽입 모드로 들어갑니다. esc를 눌러 나가십시오). 작업이 끝나면 삽입 모드를 종료 한 다음 'ZZ'(자본 ZZ)를 입력하십시오.
Kpmurphy91

22
왜 이걸 생각 해냈어? : wq Enter 또는 ZZ 소리가 미칩니다.
dezman

1
i메시지 텍스트를 삽입 시작하는 명령은 매우 도움이되었다. 저것에 대한 @Matt Greer에게 감사합니다. 이 답변은 나머지 단계에 유용했습니다.
ps2goat

47

msys git을 사용하고 있다고 가정합니다. 그렇다면 커밋 메시지를 작성하는 팝업 편집기가 vim입니다. Vim은 처음에는 친절하지 않습니다. 다른 편집기로 전환하는 것이 좋습니다. 다른 편집기를 사용하려면 다음 답변을보십시오. msysgit과 함께 메모장 ++ (또는 기타)를 어떻게 사용합니까?

vim을 사용하려면 i메시지를 입력하십시오. 행복하면 ESC를 누르십시오. 그런 다음을 입력 :wq하면 git이 행복합니다.

또는 git commit -m "your message here"편집기를 완전히 건너 뛰려면 입력 하십시오.


16
vim 우호적입니까? 아니면 사람들이 친근감에 익숙해 져 있습니까?
Ryan Lundy

8
vim은 작동 방식을 이해하면 친절합니다. 실제로 매우 논리적이며 잘 생각됩니다.
매트 그리어

커밋 메시지에서 이스케이프가 필요한 문자 (예 : 아포스트로피)를 사용하려면 항상 vim 편집기를 사용합니다. 그렇지 않으면 나는 거의 항상 commit 명령의 일부로 commit 메시지를 작성합니다.
David DeMar

커밋 메시지를 수정해야 할 때
유용

15

git commit -m "Message here"방금 시도해 보셨습니까?

따라서 귀하의 경우 :

git commit -m "Form validation added"

물론 파일을 추가 한 후


1
당신의 변형이 좋습니다. 그러나 나는 내가 쓴 길을 가고 싶다 (Google Translator)
aTei

걱정하지 마십시오. 나는 그 명령 뒤에 편집자가 있다는 것을 잊었습니다. 나는 -m "메시지"없이 git commit을 거의하지 않는다
Tony

1

일반적으로 커밋 메시지를 편집 할 git commit수있는 대화식 편집기 (Linux 및 Cygwin, $EDITOR환경 변수 의 내용에 따라 결정됨 )가 표시됩니다. 저장하고 종료하면 커밋이 완료됩니다.

커밋하려는 변경 사항이 Git 인덱스에 추가되었는지 확인해야합니다. 이것은 커밋 된 것을 결정합니다. 이에 대한 자세한 내용 은 http://gitref.org/basic/ 을 참조하십시오 .


0

주석 문자를 다음과 같이 # 이외의 것으로 변경할 수 있습니다.

git config --global core.commentchar "@"
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.