마지막 커밋에서 파일 제거하기

Beginner

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

소개

Git 은 개발자가 코드베이스의 변경 사항을 추적할 수 있도록 해주는 강력한 버전 관리 시스템입니다. Git 에서 흔히 사용되는 작업 중 하나는 마지막 커밋에서 파일을 제거하는 것입니다. 이는 실수로 포함하려는 의도가 없었던 파일을 마지막 커밋에 추가했을 때 유용할 수 있습니다.

마지막 커밋에서 파일 제거하기

의도하지 않게 마지막 커밋에 파일을 추가했습니다. 메시지를 변경하지 않고 마지막 커밋에서 해당 파일을 제거하려고 합니다.

이 실습을 위해 https://github.com/labex-labs/git-playground의 저장소를 사용해 보겠습니다. git-playground라는 이름의 Git 저장소가 있고, 실수로 마지막 커밋에 추가한 file2.txt라는 파일이 있다고 가정해 보겠습니다. 마지막 커밋에서 파일을 제거하는 단계는 다음과 같습니다.

  1. 저장소를 복제하고, 디렉토리로 이동하여 신원을 구성합니다.
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. git rm --cached <file>을 사용하여 지정된 <file>을 인덱스에서 제거합니다.
git rm --cached file2.txt
  1. git commit --amend를 사용하여 메시지를 변경하지 않고 마지막 커밋의 내용을 업데이트합니다.
git commit --amend --allow-empty

파일을 삭제한 후 커밋이 빈 커밋인 경우 --allow-empty를 사용하고, 그렇지 않은 경우 생략할 수 있습니다.

이러한 명령을 실행하면 file2.txt 파일이 메시지를 변경하지 않고 마지막 커밋에서 제거됩니다.

Git 버전 관리에서 file2.txt를 제거하면 다음과 같은 결과가 나타납니다.

On branch master

Changes to be committed:
(use "git restore --staged <file>..." to unstage)
deleted: file2.txt

Untracked files:
(use "git add <file>..." to include in what will be committed)
file2.txt

요약

마지막 커밋에서 파일을 제거하는 것은 Git 으로 작업할 때 유용한 기술이 될 수 있습니다. git rm --cached <file>git commit --amend 명령을 사용하면 메시지를 변경하지 않고 마지막 커밋에서 파일을 쉽게 제거할 수 있습니다.