대화식 편집 중 Vim 내부에서 git rebase를 중단하는 방법


138

대화식 리베이스를 수행 할 때 (예 :

git rebase -i HEAD~3

rebase 대화식 편집기 (필자의 경우 vim)가 열리고 rebase에 대한 커밋을 편집 할 수 있습니다.

pick c843ea2 Set Vim column limit to 80 (OS X)
pick fc32eac Add Bash alias for `pbcopy` (OS X)
....

이제 rebase를 중단하고 rebase를 사용 :q하여 vim을 종료하기로 결정하면 어쨌든 시작됩니다. 1.9.0.msysgit.0Windows에서 git 버전 을 사용 하고 있습니다.

물론 모든 pick줄을 삭제할 수는 있지만 더 긴 기록을 다시 작성하면 할 일이 많습니다. 다른 방법이 있습니까?

rebase 대화식 편집기 (vim)를 종료하고 rebase를 중단하려면 어떻게해야합니까?


메모장과 같은 다른 편집기를 사용 하시겠습니까? 그렇다면, 이에 대한 해결책이 있습니다
Steven Penny

5
git rebase --abort
vanduc1102

@ vanduc1102 저에게 효과적입니다.
C Bauer

답변:


258

오류 코드와 함께 편집기를 종료하면 리베이스가 중단됩니다.

vim에서 오류 코드로 종료하려면

:cq

참조 여기 와 vimdoc 여기 .


6
타이핑 감소, 동일한 결과
Zach Posten

44

파일에서 주석이 아닌 모든 행을 삭제하십시오. 그런 다음 기본 제공된 경로에 저장하고 편집기를 종료하십시오.

결과적으로 git 은이 rebase에서 아무것도하지 않습니다.

vim에서 모든 줄을 삭제하려면

:%d|x

그런 다음 저장하고 종료하십시오.

Vim에서 파일의 모든 줄을 삭제

Vim 편집기를 종료하는 방법?

VIM-같은 줄에 여러 명령


병합 커밋의 경우에는 해당되지 않습니다. 대화식 리베이스를 수행하여 하나 이상의 병합 커밋을 포함시키고 결과를 원래 상태와 비교하십시오.
Mladen B.

9

예를 들어 Windows에서 메모장 ++을 사용하는 경우 :

CtrlA다음, 모든 것을 선택 Del하거나 Backspace삭제하고 CtrlS저장합니다. 파일이 비어 있으면 Git은 리베이스를 중단합니다.

CtrlC현재 rebase 명령을 중지하기 위해 git이 실행중인 명령 프롬프트에서 적중 할 수도 있습니다 . 그런 다음 실행 git rebase --abort하여 되돌립니다.


이것은 vim이나 다른 편집기를 사용하더라도이 문제를 해결하는 일반적인 방법입니다. 고마워요! :)
Mladen B.

3

텍스트 편집기 화면에서 모든 텍스트를 삭제 한 다음 기본 제공된 경로로 파일을 저장하십시오.

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