마지막 커밋 수정하기

Beginner

This tutorial is from open-source community. Access the source code

소개

Git 은 개발자가 코드베이스 (codebase) 에 적용된 변경 사항을 추적할 수 있도록 해주는 강력한 버전 관리 시스템 (version control system) 입니다. Git 을 사용할 때 가장 일반적인 작업 중 하나는 마지막 커밋 (commit) 을 수정하는 것입니다. 이는 이미 수행한 커밋에 작은 변경 사항을 적용해야 할 때 유용할 수 있습니다.

마지막 커밋 수정하기

Git 저장소 (repository) 에 변경 사항을 커밋 (commit) 했는데, 파일 추가를 잊었거나 작은 변경 사항을 적용하지 않았다는 것을 깨달았습니다. 이 작은 변경 사항만을 위해 새로운 커밋을 생성하고 싶지는 않지만, 커밋 메시지 (commit message) 를 변경하고 싶지도 않습니다. 메시지를 변경하지 않고 마지막 커밋을 수정하려면 어떻게 해야 할까요?

마지막 커밋을 수정하는 방법을 보여주기 위해 https://github.com/labex-labs/git-playground의 저장소를 사용해 보겠습니다.

  1. 저장소를 복제 (clone) 하고, 디렉토리로 이동하여 신원을 구성합니다.
git clone https://github.com/labex-labs/git-playground
cd git-playground
git config --global user.name "your-username"
git config --global user.email "your-email"
  1. 파일 추가를 잊었거나 작은 변경 사항을 적용하지 않았다는 것을 깨달았습니다. README.md 파일의 끝에 "New content" 텍스트를 추가합니다. 메시지를 변경하지 않고 마지막 커밋에 스테이징된 (staged) 변경 사항을 추가합니다.
echo "New content" >> README.md
git add README.md
git commit --amend --no-edit
  1. 마지막 커밋에 변경 사항이 포함되었는지 확인합니다.
git show HEAD

다음은 마지막 커밋의 내용입니다.
Updated commit contents display

요약

마지막 커밋 수정은 Git 을 사용할 때 흔히 수행되는 작업입니다. git commit --amend --no-edit 명령을 사용하면 메시지를 변경하지 않고 스테이징된 변경 사항을 마지막 커밋에 추가할 수 있습니다. 이는 이미 수행한 커밋에 작은 변경 사항을 적용해야 할 때 유용할 수 있습니다.