E adicione o caminho ao .gitignore para que o git não tente fazer com que você o adicione mais tarde.
grossvogel
3
Isso resultará em (arquivos) o diretório sendo removido quando ele puxar do controle remoto?
precisa saber é o seguinte
Não quando ele puxa; os arquivos serão removidos localmente durante o processo de mesclagem automática do pull. Depois disso, um envio fará com que os arquivos sejam removidos do lado do servidor.
Walter Mundt
7
O que acontece se eu tiver um terceiro controle remoto? Os arquivos correspondentes serão removidos em um pull futuro? Eu pergunto porque acho que esse é um caso de uso bastante comum, ou seja, verifique alguns arquivos no repositório, perceba posteriormente que eles divergem entre os controles remotos, por um bom motivo, e nunca deveriam estar no repositório em primeiro lugar, para resolver isso mantendo todos os checkouts locais exatamente como estão, mas removendo os arquivos do repositório.
Bobby Jack
6
Para arquivos únicos, você pode fazergit rm --cached path/to/file
Travis Reeder
3
Eu apenas:
Mova a pasta para fora da sua árvore de trabalho
git rm a pasta, confirme a alteração
Adicione a .gitignore(ou .git/info/excludes), confirme a alteração
essa não é uma boa solução - e se você tiver um diretório muito grande?
ioleo 8/09/14
provavelmente precisará usargit rm -r
theUtherSide
11
@loostro simplesmente não o mova para outro dispositivo de bloco. Maioria sistemas de arquivos só vai atualizar inode do arquivo, e não literalmente mover o diretório inteiro
Respostas:
Preparará a exclusão do diretório, mas não tocará em nada no disco. Isso funciona também para um arquivo, como:
Depois, você pode adicionar
somedir/
ousomefile.ext
ao seu.gitignore
arquivo para que o git não tente adicioná-lo novamente.fonte
git rm --cached path/to/file
Eu apenas:
git rm
a pasta, confirme a alteração.gitignore
(ou.git/info/excludes
), confirme a alteraçãofonte
git rm -r