Remover um Arquivo do Último Commit

Beginner

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

Introdução

Git é um poderoso sistema de controle de versão que permite aos desenvolvedores rastrear as alterações em seu código-base. Uma das tarefas comuns no Git é remover um arquivo do último commit. Isso pode ser útil quando você adicionou acidentalmente um arquivo ao último commit que não pretendia incluir.

Remover um Arquivo do Último Commit

Você adicionou um arquivo ao último commit que não pretendia incluir. Deseja remover o arquivo do último commit sem alterar sua mensagem.

Para este laboratório, vamos usar o repositório de https://github.com/labex-labs/git-playground. Suponha que você tenha um repositório Git chamado git-playground com um arquivo chamado file2.txt que você adicionou acidentalmente ao último commit. Aqui estão os passos para remover o arquivo do último commit:

  1. Clone o repositório, navegue até o diretório e configure a identidade:
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. Use git rm --cached <file> para remover o <file> especificado do índice:
git rm --cached file2.txt
  1. Use git commit --amend para atualizar o conteúdo do último commit, sem alterar sua mensagem:
git commit --amend --allow-empty

Se o commit for um commit vazio após a exclusão do arquivo, use --allow-empty, caso contrário, você pode omiti-lo.

Após executar esses comandos, o arquivo file2.txt será removido do último commit sem alterar sua mensagem.

Isto é o que acontece quando você remove file2.txt do controle de versão Git:

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

Resumo

Remover um arquivo do último commit pode ser uma habilidade útil ao trabalhar com Git. Ao usar os comandos git rm --cached <file> e git commit --amend, você pode facilmente remover um arquivo do último commit sem alterar sua mensagem.