# 커밋 메시지 변경

불분명하거나 잘못되거나 중요한 커밋 메시지를 로컬로 수정하고 최근 또는 이전 커밋을 편집하는 GitHub단계를 포함하여 업데이트된 커밋을 푸시합니다.

## 가장 최근 커밋 메시지 다시 쓰기

커밋 메시지를 변경하면 새 커밋 ID가 만들어집니다. 커밋이 이미 푸시된 경우 재작성한 히스토리를 강제 푸시해야 합니다.

## 커밋이 온라인으로 푸시되지 않음

커밋이 로컬 리포지토리에만 있는 경우 커밋 메시지를 로컬로 수정합니다.

1. 명령줄에서, 수정하려는 커밋이 포함된 리포지토리로 이동합니다.

2. `git commit --amend`을 입력하고 **Enter** 키를 누릅니다.

3. 텍스트 편집기에서 커밋 메시지를 편집하고 커밋을 저장합니다.
   * 공동 작성자를 추가하려면 커밋에 예고편을 추가합니다.
     [여러 작성자를 사용하여 또는 조직을 대신하여 커밋 만들기](/ko/pull-requests/how-tos/commit-changes/creating-a-commit-with-multiple-authors)을(를) 참조하세요.

   * 조직을 대신하여 커밋을 만들려면 커밋에 예고편을 추가합니다.
     [여러 작성자를 사용하여 또는 조직을 대신하여 커밋 만들기](/ko/pull-requests/how-tos/commit-changes/creating-a-commit-with-multiple-authors#creating-a-commit-on-behalf-of-an-organization)을(를) 참조하세요.

4. GitHub.com에 커밋을 푸시합니다.

## 이전 또는 여러 커밋 메시지 수정

이미 커밋을 푸시한 경우 기록을 다시 쓰기 전에 주의해야 합니다. 강제 푸시는 기존 커밋을 기반으로 작업한 협업자에게 지장을 줄 수 있습니다.

### 가장 최근에 푸시된 커밋의 메시지 변경

1. 커밋 메시지를 수정하려면 [커밋이 온라인에 푸시되지 않음](#commit-has-not-been-pushed-online)의 단계를 따르세요.
2. 이전 커밋을 덮어쓰도록 강제 푸시합니다.

   ```shell
   git push --force-with-lease origin EXAMPLE-BRANCH
   ```

### 이전 또는 여러 커밋 메시지의 메시지 변경

대화형 리베이스를 사용하여 이전 또는 여러 커밋 메시지를 변경합니다.

1. 명령줄에서 수정하려는 커밋이 포함된 리포지토리로 이동합니다.

2. 마지막 `n`개의 커밋에 대해 인터랙티브 리베이스를 시작합니다.

   ```shell
   git rebase -i HEAD~n
   ```

3. 커밋 목록에서 변경하려는 각 커밋 메시지 앞에 있는 `pick`를 `reword`로 바꾸세요.

   ```shell
   pick e499d89 Delete CNAME
   reword 0c39034 Better README
   reword f7fde4a Change the commit message
   ```

4. 커밋 목록 파일을 저장한 후 닫습니다.

5. 열리는 각 커밋 메시지 파일에서 새 메시지를 입력한 다음 파일을 저장하고 닫습니다.

6. 다시 작성한 히스토리를 강제로 푸시합니다.

   ```shell
   git push --force-with-lease origin EXAMPLE-BRANCH
   ```

Git 설명서에서 [대화형 모드](https://git-scm.com/docs/git-rebase#_interactive_mode) 를 참조하세요.

> \[!WARNING]
> 커밋 메시지에 중요한 정보가 포함된 경우 수정된 커밋을 강제로 푸시해도 원래 커밋 GitHub이 제거되지 않을 수 있습니다. 이전 커밋 ID를 포함해 [GitHub 지원 포털](https://support.github.com) 사용에 연락하여 원격 리포지토리에서 해당 커밋을 삭제하도록 하세요.

## 추가 읽기

* [커밋 서명](/ko/authentication/managing-commit-signature-verification/signing-commits)