스택큐힙리스트

기존에 푸시하지 않은 커밋 메시지를 수정하는 방법은 무엇인가요? 본문

카테고리 없음

기존에 푸시하지 않은 커밋 메시지를 수정하는 방법은 무엇인가요?

스택큐힙리스트 2023. 3. 10. 20:49
반응형

이 질문에 대한 답변은 community effort 입니다. 기존 답변을 수정하여이 게시물을 개선하십시오. 현재 새로운 답변이나 상호작용을 받지 않습니다.

나는 커밋 메세지에 잘못 썼다.

메시지를 어떻게 변경할 수 있나요? 커밋이 아직 푸시되지 않았습니다.

답변 1

가장 최근의 커밋 메시지 수정하기

git commit --amend

가장 최근 커밋 메시지를 변경할 수 있는 에디터를 열어줍니다. 또한 다음 명령줄에서 커밋 메시지를 직접 설정할 수도 있습니다.

git commit --amend -m New commit message

하지만, 이것은 여러 줄의 커밋 메시지나 작은 수정을 입력하기에 더 불편할 수 있습니다.

이 작업을 수행하기 전에 작업 복사본에 변경 사항이 스테이징되지 않았는지 확인하십시오. 그렇지 않으면 변경 사항이 커밋됩니다. (스테이징되지 않은 변경 사항은 커밋되지 않습니다.)

이미 원격 브랜치로 push한 커밋의 메시지를 변경하는 방법

이미 커밋을 원격 브랜치에 푸시했다면, 로컬에서 커밋을 수정한 후 (위에서 설명한대로) need to force push the commit도 함께 해야합니다.

git push --force

# Or

git push -f

경고: 강제 푸시는 원격 브랜치를 로컬 브랜치의 상태로 덮어쓸 것입니다. 만약 원격 브랜치에 로컬 브랜치에 없는 커밋이 있을 때, 그 커밋을 잃을 수 있습니다.

경고: 이미 다른 사람들과 공유한 커밋을 수정할 때 조심하십시오. 커밋을 수정하면 기본적으로 다른 SHA ID를 가지도록 다시 작성되므로, 다른 사람이 복사한 이전 버전의 커밋이 문제가 됩니다. 이전 버전의 커밋을 복사한 사람은 당신이 다시 작성한 커밋으로 작업을 동기화해야 하므로, 때로는 어려울 수 있습니다. 따라서 공유된 커밋 히스토리를 다시 작성하려면 다른 사람들과 협력하거나, 가능하면 공유된 커밋을 전혀 다시 작성하지 마십시오.

인터랙티브 리베이스 수행하기

또 다른 옵션은 대화형 리베이스를 사용하는 것입니다. 이를 통해 가장 최신 메시지가 아니더라도 업데이트하려는 모든 메시지를 편집할 수 있습니다.

Git squash를 수행하려면 다음 단계를 따르십시오.

// n is the number of commits up to the last commit you want to be able to edit

git rebase -i HEAD~n

커밋을 squash한 후 메시지를 편집할 데 사용할 e/r를 선택하십시오.

인터랙티브 리베이스에 대한 중요한 사항

당신이 git rebase -i HEAD~n을 사용하면 n개보다 많은 커밋이 있을 수 있습니다. Git은 마지막 n개의 커밋에서 모든 커밋을 수집하고, 중간에 머지가 있었다면 해당 범위의 모든 커밋을 볼 수 있으므로 결과는 n +이 됩니다.

좋은 팁 :

하나 이상의 브랜치에서 수행해야 하고 내용을 수정할 때 충돌이 발생할 수 있는 경우 git rerere를 설정하고 Git이 자동으로 충돌을 해결하도록합니다.

문서화 (Munseo-hwa)

git-commit(1) Manual Page

git-rebase(1) Manual Page

git-push(1) Manual Page

답변 2

기존의 커밋 메시지를 수정하는 방법

커밋 메시지는 개발 프로젝트에서 매우 중요한 역할을 합니다. 그러나 때로는 실수로 잘못된 메시지를 입력하거나 올바르게 작성되지 않아 수정이 필요할 수 있습니다. 이러한 경우에는 Git을 사용하여 쉽게 수정할 수 있습니다.

우선, 커밋 메시지를 수정하기 위해 Git의 commit --amend 명령어를 사용해야 합니다. 이 명령어는 언제든지 이전의 커밋 메시지를 수정하고 새로운 메시지로 대체할 수 있습니다.

커밋 메시지를 수정하기 위해서는 수정하고자 하는 커밋의 해시 값을 알아야 합니다. 해시값은 커밋 히스토리에서 고유한 식별자로 사용됩니다. 해시값을 얻기 위해서는 git log 명령어를 사용하여 히스토리를 확인할 수 있습니다.

해당 커밋의 해시값을 알았다면, git commit --amend 명령어를 사용하여 커밋 메시지를 수정할 수 있습니다. 명령어를 실행하면, 텍스트 에디터가 열리고 수정하고자 하는 메시지를 입력할 수 있는 창이 나타납니다.

메시지를 수정하고 저장한 후에는 변경내용을 저장하고 원격 저장소에 푸시하기 전에 git push --force 명령어를 사용하여 로컬과 원격 저장소를 일치시켜야 합니다.

커밋 메시지를 수정하여 프로젝트의 가독성과 이해도를 높일 수 있습니다. 따라서 프로젝트를 진행하는 동안에는 필요에 따라 커밋 메시지를 수정하는 것이 상술ㅎ합니다.

반응형
Comments