Eu configurei um git local na minha máquina. Quando inicializei o git, adicionei bibliotecas e binários pré-compilados. No entanto, agora durante o meu desenvolvimento, não quero fazer check-in desses arquivos intermitentemente. Não quero remover esses arquivos do repositório. Existe alguma maneira de não acompanhar esses arquivos até que eu complete meu desenvolvimento. (Acho que não posso usar .gitignore, pois funciona apenas para os arquivos que não estão no git. Quero desativar temporariamente o rastreamento de arquivos.)
git
github
repository
agent.smith
fonte
fonte
Respostas:
O git update-index deve fazer o que você deseja
Isso informará ao git que você deseja começar a ignorar as alterações no arquivo
git update-index --assume-unchanged path/to/file
Quando você deseja começar a acompanhar novamente
git update-index --no-assume-unchanged path/to/file
Documentação do Github: update-index
fonte
git rm --cached
, levará à exclusão das cópias locais em outras máquinas, nas quais a mesma ramificação é verificada, na próxima atração. Veja arlocarreon.com/blog/git/… e especialmente a discussão abaixo.você pode manter seus arquivos não rastreados depois
adicione seus arquivos com
eles empurram ou fazem o que quiserem.
fonte
git rm --cached .DS_Store
então ele imprimerm '../.DS_Store'
E o arquivo local é excluído ??! (git version 2.6.4 (Apple Git-63)
)No entanto, você não deve confirmar binários compilados e dependências externas em primeiro lugar. Use uma ferramenta como o Bundler para puxá-los.
fonte
Use o seguinte comando para rastrear arquivos
fonte
O git-book menciona isso na seção 2.4: "Desfazendo coisas". Basicamente, o que você precisa fazer é redefinir o estado do índice para alguns arquivos de volta ao estado HEAD, ou seja, o estado do último check-out (ou confirmação). Isso desfaz a preparação do arquivo para o índice atual. O comando para esta tarefa é
git reset
. [1]Portanto, o comando que você deve executar é:
As versões mais recentes do git (acredito que desde a versão 1.6) dão esse comando (e muito mais) como uma dica ao executar
git status
. Essas versões são muito fáceis de usar. Uma dica pessoal: se você estiver preparando apenas alguns arquivos, usegit add -i
. Isso iniciará a ferramenta de teste interativa, o que torna as coisas particularmente fáceis. Além disso, eu recomendo a leitura do livro, pois é muito explícito sobre o uso do git em situações práticas.[1] http://www.git-scm.com/book
fonte
git reset [file]
é a maneira mais direta de descompactar arquivos.Não é uma resposta para a pergunta original. Mas isso pode ajudar alguém.
Para ver as alterações que você fez ( saiba quais arquivos estão marcados como --assume-inalterados )
A lista de arquivos resultante terá um prefixo com um caractere (ex: H ou h). Se estiver em minúscula (ou seja, h), o arquivo foi marcado como --assume-inalterado
fonte
Suponho que você esteja perguntando como remover TODOS os arquivos da pasta de compilação ou da pasta bin, em vez de selecionar cada arquivo separadamente.
Você pode usar este comando:
git rm -r -f /build\*
Verifique se você está no diretório pai do diretório de construção.
Este comando irá "excluir" recursivamente todos os arquivos que estão na lixeira / ou compilação / pastas. Com a palavra delete, quero dizer que o git fingirá que esses arquivos foram "excluídos" e que não serão rastreados. O git realmente marca esses arquivos no modo de exclusão.
Certifique-se de ter seu .gitignore pronto para as próximas confirmações.
Documentação: git rm
fonte
git reset [arquivo]
Retorne o arquivo da área de armazenamento temporário para o diretório de trabalho
Costumo esquecer de adicionar meus módulos de nó ao arquivo .gitignore, isso resolve esse problema.
fonte
Isso funcionou para mim
git reset HEAD 'filename'
fonte
Para remover todos os arquivos do Untrack. Experimente este comando do terminal
fonte
remover arquivos e pastas não rastreados, defina git clean -fdx
fonte