태그 보관물: git

git

Magit-마지막 커밋 실행 취소-히스토리 조작 된 변경을 취소 할 수있는

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을 사용 하여이 절차를 재현하는 가장 좋은 워크 플로우는 무엇입니까 ?



답변

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 버퍼를 무시하고 커밋 메시지를 재사용합니다.


답변