Git 사용자로서 나는 정기적으로 상황을 발견하고 수정 커밋에 맞지 --amend
않거나 rebase -i
수정 커밋에 맞지 않는 방식으로 하나 이상의 커밋을 재 작업해야합니다 . 일반적으로 나는 다음과 같이 할 것입니다.
git reset HEAD~1
# hack, fix, hack
git commit -a
# argh .. do I need to retype my message?
나는 현명하게 구성된 커밋 메시지를 매우 진지하게 생각합니다. 일반적으로 변경에 대한 참조 및 근거가있는 더 큰 텍스트를 포함합니다. 지금까지 정렬되지 않은 git reflog
, git log
복사 및 붙여 넣기 프로세스 를 통해 오래된 커밋 메시지를 복구하는 데 오랜 시간이 걸리는 프로세스에 상당히 짜증이났습니다 .
이 문제를 해결하는 것이 더 좋은가요? 내 커밋이 두 개 이상이면 어떻게 될까요?
편집 : 이것에 대해 조금 생각한 후 내가 찾고있는 것은 수정 / 수정 커밋이 적절하지 않은 커밋 메시지에 대한 git stash 와 같은 기능 이라고 생각합니다 .
답변
후 git reset
,이 한 줄은 그것을 할 수 있습니다 :
git commit --reuse-message=HEAD@{1}
또는 더 짧습니다.
git commit -C HEAD@{1}
@ user2718704에서 제공하는 다른 옵션을 사용할 수 있습니다 .
답변
“git commit”명령을 실행할 때 다음 옵션을 확인해야합니다.
재사용하려면
--reuse-message=<commit>
재사용시 편집하려면
--reedit-message=<commit>
작성자를 변경하려면
--reset-author
답변
해킹, 수정, 해킹하고 실행할 수 있다면 왜 재설정하십시오 git commit --amend --no-edit
. 따라서 원래 커밋 메시지를 유지합니다.
여러 커밋에 대해 작동하게하려면 최신 변경 사항으로 임시 커밋을 만든 다음 대화식 리베이스를 사용하여 이전 커밋의 커밋 메시지를 유지하면서 새 임시 커밋으로 이전 커밋 (좋은 커밋 메시지 포함)을 스쿼시합니다.
답변
git commit --reset-author -c <commit>
커밋 메시지를 편집 및 현재 시간과 함께 재사용하려면을 고려할 수 있습니다.