VI가 커밋 메시지를 기다리는 화면에있을 때 Git 커밋을 어떻게 중지합니까? 항상 그렇듯이 VI를 불러왔다. 커밋을

나는 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은 오류 코드와 함께 종료되고 커밋이 중단됩니다.


답변