Git protip: 오래된 커밋 메시지를 빠르게 다시 작성
나중에, 그러나 너무 늦지 않았습니다!
다음과 같은 생각을 하고 있다고 말하지 마십시오. *"신경쓰지 마세요. UI를 열고 손으로 입력하겠습니다!"또는 당신이 포기하고 있다는 것! 대화형 리베이스에 대해 모르거나 사용하기가 두렵기 때문일 수 있습니다 😨. 솔직히, 그렇게 해서는 안 됩니다. 이 명령으로 매우 귀중한 동맹임을 증명합니다!
리베이스와는 별도로 메시지를 변경하려는 의도를 표현하는 커밋을 만들 수 있다는 것을 알고 있습니까? 나는 당신이하지 않을 내기! 다행히도 제가 😁 도와드리겠습니다.
git commit --fixup reword:<commit-ref-to-fix>
명령을 소개하겠습니다. 이것은 약간의 한 입이지만 누가 신경 쓰나요? 우리는 마법 주문 🔮처럼 보이는 멋진 별칭으로 그것을 포장할 것입니다. autoreword 소개:git config --global alias.autoreword '!git commit --fixup reword:$1 && git rebase --autosquash --interactive --rebase-merges $1~1 && echo "autoreword finished"'
이 명령을 실행하면 어떻게 될까요?
🌀 사악한 웜홀이 열리고, 이 세상을 잿더미로 만드는 지옥불🔥을 방출합니다! (사실 아니, 우리는 그것을 위해 마법을 사용할 필요조차 없습니다 😭)
그러나 심각하게 Git은
amend! …
로 시작하는 메시지와 함께 편집기를 열고 수정하려는 커밋 메시지의 첫 번째 줄, 줄 바꿈, 다시 (전체) 커밋 메시지가 이어집니다.amend! chore(dx): setup ESLint and Prettier
chore(dx): setup ESLint and Prettier
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# On branch chore/automation
그런 다음 메시지를 변경할 수 있습니다(단, 첫 번째 줄은 그대로 유지).
amend! chore(dx): setup ESLint and Prettier
chore(dx): setup ESLint and Prettier
# Here is the reference to my issue!
Closes #42
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# On branch chore/automation
이제 파일을 저장하고 닫을 수 있습니다.
그런 다음 Git은 수정 커밋을 생성하고 별칭은 잘못된 커밋의 직접 조상에서 시작하여 대화식 리베이스를 자동으로 실행합니다.
fixup -C
접두어가 붙은 목록에서 수정 커밋이 이미 올바른 위치에 있음을 확인할 수 있도록 실행한 작업 목록과 함께 편집기를 마지막으로 엽니다.pick 3f0714b chore(dx): setup ESLint and Prettier
fixup -C 61eecda amend! chore(dx): setup ESLint and Prettier
pick 9a7cf39 chore(dx): setup Husky, lint-staged, precommit-checks, commitlint
더 이상 할 일이 없지만 파일을 확인, 저장 및 닫습니다. 그런 다음 리베이스가 충돌 없이 실행되고 로그를 확인하여 커밋 메시지가 업데이트되었는지 확인할 수 있습니다!
작업 목록에서
label onto
및 reset onto
와 같은 일부 키를 볼 수 있습니다. 이는 리베이스가 리베이스하는 동안 로컬 병합을 유지하는 --rebase-merges
옵션과 함께 호출되기 때문입니다. 당신은 그것에 대해 걱정할 필요가 없습니다 😌.
Reference
이 문제에 관하여(Git protip: 오래된 커밋 메시지를 빠르게 다시 작성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/mbrehin/git-protip-quickly-rewrite-an-old-commit-message-20h3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)