Pergunta

Fiz várias alterações na minha versão git local de um projeto Rails que não quero perder, mas, ao fazer isso, criei acidentalmente um fornecedor/pacote pasta no Git.

Assim que fiz o commit, percebi que fiz isso e fiz um git rm para a pasta (e adicionei a pasta ao gitignore) e fiz o commit novamente.No entanto, agora não posso enviar o original porque o pacote é muito grande.

O que eu preciso

  • Como posso manter as edições (e novos arquivos) que fiz.
  • Ao remover a pasta do pacote configurável do histórico do git
  • E não enviar esse commit para eles, já que o diretório é muito grande

Tenho procurado por várias maneiras de reinicialização suave aqui, mas estou preso.

Foi útil?

Solução

Você poderia fazer git reset --soft HEAD~x onde x é o número de revisões que você deseja redefinir - 2 no seu caso e, em seguida, adicione o diretório ao arquivo gitignore e também remova-o da área de teste.

Outras dicas

Acho que encontrei a resposta:

Isso ocorre com bastante frequência.Alguém acidentalmente comete um enorme arquivo binário com um git impensado adicionar ., e você deseja removê-lo em toda parte.Talvez você tenha cometido acidentalmente um arquivo que continha um e você deseja tornar seu projeto de código aberto.filtro-ramificação é a ferramenta que você provavelmente deseja usar para limpar todo o seu histórico.Para Remova um arquivo chamado Senhas.txt de todo o seu histórico, você pode Use a opção --tree-filter para filtrar-ramificar:

Fonte:

git filter-branch --tree-filter 'rm -f /vendor/bundle' HEAD

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top