Como excluir/remover arquivos de um commit enviado?

Como excluir/remover arquivos de um commit enviado?

é possível excluir/remover alguns arquivos indesejados do repositório remoto e local?
Fui um pouco rápido demais e enviei 5 arquivos para o repositório remoto. Agora meu colega empurrou seu trabalho e viu esses arquivos indesejados atrasados. Então agora existem 2 commits após o meu commit 'errado'.

Eu tentei usar

git rebase -i HEAD~3

e alterei a primeira entrada para "editar" e excluí os arquivos indesejados. Em seguida eu usei

git commit --amend
git rebase --continue

Mas o GIT não irá finalizá-lo. Sempre dizia que estou no último commit e há um rebase em andamento. Mas não sou capaz de continuar a terminá-lo.

Responder1

Você pode remover facilmente arquivos indesejados dos repositórios git locais:
basta removê-los com
git rm file
ou
git rm -r directory(se você adicionar o --cached-flag, o arquivo não será removido do seu sistema de arquivos). Em seguida, confirme (ou commit --amend) para remover o arquivo do último commit (embora ele permaneça no histórico). Veja tambémaqui

Se você deseja removê-lo de um repositório remoto, siga as mesmas etapas e pressione depois.

Responder2

git rm file
git commit --amend
git push origin HEAD:refs/for/develop

informação relacionada