uteis - removendo git




Remover um arquivo de um repositório Git sem excluí-lo do sistema de arquivos local (6)

O Git permite ignorar esses arquivos, assumindo que eles não foram alterados. Isso é feito executando o comando git update-index --assume-unchanged path/to/file.txt . Depois de marcar um arquivo como tal, o git ignorará completamente quaisquer alterações nesse arquivo; eles não aparecerão ao executar o status do git ou git diff, nem serão confirmados.

(De https://help.github.com/articles/ignoring-files )

Portanto, não excluí-lo, mas ignorando as alterações nele para sempre. Eu acho que isso só funciona localmente, então os colegas de trabalho ainda podem ver as alterações a menos que eles executem o mesmo comando acima. (Ainda precisa verificar isso embora.)

Nota: Isso não está respondendo a pergunta diretamente, mas é baseado em perguntas de acompanhamento nos comentários das outras respostas.

Meu commit inicial continha alguns arquivos de log. Eu adicionei *log ao meu .gitignore , e agora eu quero remover os arquivos de log do meu repositório.

git rm mylogfile.log

removerá um arquivo do repositório, mas também o removerá do sistema de arquivos local.

Como posso remover este arquivo do repositório sem excluir minha cópia local do arquivo?


Além disso, se você tiver enviado dados confidenciais (por exemplo, um arquivo contendo senhas), você deve excluí-lo completamente do histórico do repositório. Aqui está um guia explicando como fazer isso: http://help.github.com/remove-sensitive-data/


Como por minha resposta aqui: https://.com/questions/6313126/how-to-remove-a-directory-in-my-github-repository

Para remover pasta / diretório ou arquivo somente do repositório git e não do local, tente 3 etapas simples.

Etapas para remover o diretório

git rm -r --cached File-or-FolderName
git commit -m "Removed folder from repository"
git push origin master

Passos para ignorar essa pasta nos próximos commits

Para ignorar essa pasta das próximas confirmações, crie um arquivo na raiz chamado .gitignore e coloque o nome dessas pastas nele. Você pode colocar quantos quiser

arquivo .gitignore será semelhante a este

/FolderName


Para arquivo único:

git rm --cached mylogfile.log

Para um único diretório:

git rm --cached -r mydirectory

Uma solução mais genérica:

  1. Edite o arquivo .gitignore .

    ECHO mylogfile.log >> .gitignore

  2. Remova todos os itens do índice.

    git rm -r -f --cached .

  3. Reconstruir índice.

    git add .

  4. Faça novo commit

    git commit -m "Removed mylogfile.log"


Você também pode remover arquivos do repositório com base no seu .gitignore sem excluí-los do sistema de arquivos local:

git rm --cached `git ls-files -i -X .gitignore`

Ou, alternativamente, no Windows Powershell:

git rm --cached $(git ls-files -i -X .gitignore)




git-rm