이 StackOverflow 질문 에는 마지막 커밋을 실행 취소하기위한 최상의 솔루션 / 접근법이 있습니다.
몇 주 전에 Magit을 사용하기 시작했으며 모든 문서를 검토 한 후에도 실수로 커밋 된 변경을 취소 할 수있는 결정적인 방법이 아직 없습니다.
예를 들어 :
실행 취소 및 재실행을 위해 마지막 커밋을 사용할 수 있습니다.
$ git commit -m "Something terribly misguided"
$ git reset HEAD~
<< edit files as necessary >>
$ git add ...
$ git commit -c ORIG_HEAD # To keep the same commit message
답변
magit-reset
(기본적으로으로 바인딩)을 사용할 수 있습니다 x. 커밋 시점이 프롬프트의 기본값으로 사용되지만 원하는 개정 값을 입력 할 수 있습니다 (여기서는 “HEAD ~”).
재설정 명령은 설명서의 “재설정”섹션에 설명되어 있습니다 : https://magit.vc/manual/magit/Resetting.html
커밋 메시지를 재사용하기 =C
위해 커밋 팝업에서 옵션을 사용할 수 있습니다 . 불행히도, 프롬프트는 현재 완료 값을 제공하지 않지만 (아마도 적어도 제안해야한다고 생각합니다
ORIG_HEAD
) 재설정하기 전에 현재 커밋의 해시를 킬 링에 넣을 수 있습니다 (예 C-w: “Head :”줄) 재설정 한 후 =C
옵션 값으로 설정하십시오 .
추가 의견 :
-
을 사용하는 대신
=C
커밋 ( cc)을 시작한 다음git-commit-prev-message
( M-p)을 사용 하여 이전 메시지를 순환하는 것이 더 확실 합니다. -
마지막 커밋 만 수정하는 경우
magit-commit-amend
( ca) 또는magit-commit-extend
( ce) 를 사용하여 이전 커밋에 대한 단계별 변경 사항을 확인할 수 있습니다 . 후자는 COMMIT_EDITMSG 버퍼를 무시하고 커밋 메시지를 재사용합니다.