O título diz tudo. Estou tentando adicionar meus pacotes NuGet ao repositório. Tudo, exceto os arquivos .dll, estão sendo detectados.
O arquivo gitignore não contém referências a * .dll. Os arquivos .dll não são reconhecidos quando localizados em qualquer lugar do repositório inteiro. info / exclude também está vazio.
Eu também clonei o repositório (sistema de arquivos para sistema de arquivos, ao contrário de remoto para sistema de arquivos) sem sorte. Esse problema também ocorre em dois computadores diferentes.
Eu poderia adicionar os arquivos .dll manualmente, mas eles devem ser rastreados. Por que eles não estão sendo rastreados?
git config --get core.excludesfile
dizer?Respostas:
Você tem um
~/.gitignore_global
ou~/.gitignore
em seu diretório inicial que também possa listar esses padrões de arquivo?Veja https://help.github.com/articles/ignoring-files
fonte
git check-ignore
para descobrir onde estava o arquivo. Encontre-o em ~ / Documents / gitignore_global.txtSe você usar SourceTree e a configuração padrão, ele irá ignorar todas as DLLs por padrão ... Tools => Options => Git e "Editar Arquivo" ... adicione um "#" antes de .dll => "# .dll" .. . salvar e fechar.
Em seguida, para o Windows Explorer, na pasta de pacotes, abra um terminal GitBash e digite "git add." e deixe funcionar, de volta ao SourceTree, espere um segundo e todas as DLLs de pacote ausentes aparecerão para você confirmar e enviar.
fonte
Não, eles não devem ser rastreados, a menos que você os tenha adicionado. Somente os arquivos que já foram adicionados e confirmados são rastreados; isso é o que significa "rastreado".
Tente adicionar manualmente um deles via
git add
e ele dirá por que os está ignorando e solicitará que você usegit add -f
para adicionar o arquivo de qualquer maneira.fonte
Você precisa dizer explicitamente ao git para rastrear quaisquer novos arquivos.
Execute
git add filename
para adicionar o arquivo ao índice do git.Execute
git commit
para confirmar as alterações em seu índice.git status
também deve mostrar a lista de arquivos e diretórios não rastreados.Se você quiser listar todos os arquivos no repo que são ignorados pelo gitignore, você pode executar:
Se você quiser listar todos os arquivos não rastreados no repo:
fonte
Eu enfrentei um problema semelhante. Não consigo adicionar o arquivo .dll do diretório do pacote ao meu git, então encontrei o arquivo gitignore_global.txt, pois o sourcetree adicionou automaticamente este arquivo como uma configuração global do git ignore. Eu removi * .dll do arquivo gitignore_global.txt e funciona bem para mim.
Localização do arquivo gitignore_global.txt conforme abaixo
C: \ Users \ XXXX \ Documents \ gitignore_global.txt ou você pode encontrá-lo em fonte TOOL => OPTION => guia GIT e descobrir a lista global de ignorados
fonte
No meu caso, não havia referências .dll no arquivo .gitignore e eu não tinha um arquivo global. No entanto, no subdiretório .git, encontrei um arquivo chamado ms-persist.xml. Fechei todas as instâncias do Visual Studio e, em seguida, adicionei meus .dlls ausentes manualmente a esse arquivo. Quando eu reabri o Visual Studio, os .dlls estavam aparecendo como precisando ser registrados. Eu os registrei e agora estou ótimo ...
fonte
Você tem um local global
.gitignore
ou outros.gitignore
arquivos em subdiretórios - relativos à raiz do seu projeto.Em sistemas Linux e MacOS, o git-ignore global é mais provável em sua casa
~/
~/.gitignore_global
No Windows, provavelmente está no diretório do usuário. Tanto o seu usuário local (que você pode descobrir digitando
ECHO %USERPROFILE%
ouwhoami
na linha de comando).Se não estiver lá, então certamente a
.gitconfig
está presente. Procure aqui a localização do gitignore (por exemplo, aDocuments
pasta do usuário ).Editar : Use
git config --list --show-origin
para obter detalhes das configurações git de contribuição e seus locais de arquivo correspondentes.fonte
Sei que esta pergunta é muito antiga, mas estou adicionando para outras pessoas que podem acessá-la no futuro. Você pode modificar seu arquivo global ignore conforme as respostas acima mencionadas, mas isso afetará TODOS os seus repositórios git. Se, em vez disso, você quiser uma abordagem mais granular, pode apenas excluir DLLs específicas ou pastas específicas em seu projeto individual .gitignores. Isso substitui todas as configurações de ignorar e força os arquivos a serem detectados e tratados pelo git. Acho que essa é uma abordagem melhor.
.gitignore (para o seu projeto específico)
fonte