development

VI가 커밋 메시지를 기다리는 화면에있을 때 Git 커밋을 어떻게 중지합니까?

big-blog 2020. 5. 12. 19:11
반응형

VI가 커밋 메시지를 기다리는 화면에있을 때 Git 커밋을 어떻게 중지합니까?


나는 Git에게 git bash 내에서 커밋을 수행하도록 요청했다. 항상 그렇듯이 VI를 불러왔다.

이제 커밋을 취소하고 싶습니다.이 시점에서 커밋을 진행하지 못하게하려면 어떻게합니까?


두 가지 옵션이 있습니다.

  • 빈 커밋 메시지를 제공하십시오. 새로운 커밋이고 아직 메시지를 저장하지 않은 경우 간단히 :q!저장하지 않고 사용할 수 있습니다 . 이미 저장했거나 이전 커밋을 수정 중이라면 전체 로그 메시지를 삭제하고 다시 저장하십시오. 이것은 Vim에서 ggdG+ :wq할 수 있습니다 .

  • 0이 아닌 종료 코드로 편집기를 종료하십시오. Vim에서는 :cq(오류 코드로 종료)를 사용할 수 있습니다 .

작업 복사본을 커밋하기 전의 상태로 항상 다시 설정할 수 있다는 점은 주목할 가치가 있습니다 git reset HEAD^.


  • :q!커밋을 수정하면 작동하지 않습니다. 커밋 메시지를 업데이트하지는 않지만 수정을 실행합니다.
  • :cq 수정안을 완전히 중단합니다.

요약하면 :

  • 을 사용하여 새로운 커밋 (예 git commit:)을 종료 할 때:q! .
  • 수정 (예 :)시 v를 누르고 화살표 키를 사용하여 git commit --amend커밋 메시지 ( #로 시작 하지 않는 처음 몇 행만 )를 제거한 다음 삭제를 누릅니다. 변경 사항을 적용하려면 종료하십시오:wq ! 사용 :q!하면 변경 사항이 손실되고 이전 커밋 메시지가 사용됩니다.

VIM을 사용할 때 두 경우 모두 종료 :cq해도됩니다. VIM은 오류 코드와 함께 종료되고 커밋이 중단됩니다.

참고 : https://stackoverflow.com/questions/4323440/how-do-i-stop-a-git-commit-when-vi-is-on-the-screen-waiting-for-a-commit-message

반응형