Eu tenho um repositório com um arquivo Hello.java
,. Quando eu o compilo, um Hello.class
arquivo adicional é gerado.
Eu criei uma entrada para Hello.class
em um .gitignore
arquivo. No entanto, o arquivo ainda parece ser rastreado.
Como posso fazer o Git ignorar Hello.class
?
Respostas:
O problema é que
.gitignore
ignora apenas arquivos que não foram rastreados antes (porgit add
). Executegit reset name_of_file
para desestabilizar o arquivo e mantê-lo. Caso deseje também remover o arquivo fornecido do repositório (após pressionar), usegit rm --cached name_of_file
.fonte
git rm --cached name_of_file
removerá o arquivo do seu repositório git. Mesmo se você adicioná-lo ao seu arquivo .gitignore. Isso não é ignorar que está excluindo.git reset name_of_file
remove o rastreamento e não exclui o arquivo.Como ignorar novos arquivos
Globalmente
Adicione o (s) caminho (s) ao (s) arquivo (s) que você gostaria de ignorar
.gitignore
(e confirme). Essas entradas de arquivo também se aplicam a outras pessoas que fazem check-out no repositório.Localmente
Adicione o (s) caminho (s) ao (s) arquivo (s) que você gostaria de ignorar no seu
.git/info/exclude
arquivo. Essas entradas de arquivo serão aplicadas apenas à sua cópia de trabalho local.Como ignorar arquivos alterados (temporariamente)
Para ignorar os arquivos alterados para serem listados como modificados, você pode usar o seguinte comando git:
Para reverter essa ignorância, use o seguinte comando:
fonte
local
git ignore e reiniciei o sistema, ele ainda mostra o trabalho diretamente limpo.update-index
truque útil , absolutamente perfeito para evitar a alteração de um.gitignore
arquivo, que é então rastreado pelo Git!Adicione a seguinte linha ao .gitignore:
Isso excluirá o Hello.class do git. Se você já o confirmou, execute o seguinte comando:
Se você deseja excluir todos os arquivos de classe do git, adicione a seguinte linha ao .gitignore:
fonte
Hello.class
a.gitignore
ignora qualquer arquivo chamadoHello.class
em qualquer subdiretório. Se você pretende ignorar apenas o arquivoHello.class
no mesmo diretório que o.gitignore
arquivo, use uma/Hello.class
linha..gitignore
arquivo?.gitignore
em qualquer lugar do projeto git - se um caminho começar/
, será relativo ao local do.gitignore
arquivo; caso contrário, ele se referirá recursivamente aos arquivos no diretório atual e seus diretórios descendentes.1) Crie um
.gitignore
arquivo. Para fazer isso, basta criar um.txt
arquivo e alterar a extensão da seguinte maneira:Então você precisa alterar o nome, escrevendo a seguinte linha em uma janela do cmd:
Onde
git.txt
está o nome do arquivo que você acabou de criar.Em seguida, você pode abrir o arquivo e gravar todos os arquivos que não deseja adicionar no repositório. Por exemplo, o meu fica assim:
Depois de ter isso, você precisará adicioná-lo ao seu repositório Git. Você precisa salvar o arquivo onde está seu repositório.
Então, no Git Bash, você deve escrever a seguinte linha:
Se o repositório já existir, você deverá fazer o seguinte:
git rm -r --cached .
git add .
git commit -m ".gitignore is now working"
Se a etapa 2 não funcionar, você deve escrever a rota inteira dos arquivos que deseja adicionar.
fonte
Ignorar:
Para desfazer ignorar:
fonte
lstat(2)
custos adicionais , reserva-se o direito de informar que o caminho foi modificado (...git commit -a
é livre para confirmar essa alteração). 'Você pode usar os métodos abaixo para ignorar / não ignorar alterações nos arquivos rastreados.
git update-index --assume-unchanged <file>
git update-index --no-assume-unchanged <file>
fonte
lstat(2)
custos adicionais , reserva-se o direito de informar que o caminho foi modificado (...git commit -a
é livre para confirmar essa alteração). 'Crie um
.gitignore
no diretório em que .git está. Você pode listar arquivos separados por uma nova linha. Você também pode usar curingas:fonte
.gitignore
arquivos (a menos que essa ferramenta seja obrigatória pelo projeto). Você pode colocar padrões para suas ferramentas favoritas no arquivo exclui por usuário (conjuntocore.excludesFile
); eles funcionarão em todos os seus repositórios. Por exemplogit config --global core.excludesFile "$HOME/.git-user-excludes"
, coloque-os nesse arquivo.No site oficial do GitHub:
Se você já possui um arquivo registrado e deseja ignorá-lo, o Git não o ignorará se você adicionar uma regra posteriormente. Nesses casos, você deve rastrear o arquivo primeiro, executando o seguinte comando no seu terminal:
ou
fonte
Você deve escrever algo como
no seu
.gitignore
arquivo.fonte
*.class
ao seu.gitignore
para que o git ignore todos os arquivos que terminam em.class
.Adicione quais arquivos você deseja ignorar no arquivo
.gitignore
:*.classe
* .projects
* .prefs
*.projeto
fonte
Criando um arquivo .gitignore. Veja aqui para detalhes: Git Book - Ignorando Arquivos
Verifique também este: Como você faz o Git ignorar arquivos sem usar o .gitignore?
fonte
Se você já confirmou o arquivo e está tentando ignorá-lo adicionando ao
.gitignore
arquivo, o Git não o ignorará. Para isso, primeiro você deve fazer o seguinte:Se você está iniciando o projeto recentemente e deseja adicionar alguns arquivos ao Git ignore, siga as etapas abaixo para criar um arquivo Git ignore:
.gitignore
arquivo.fonte
Você também pode usar atributos .gitat (em vez de .gitignore) para excluir tipos de arquivos inteiros. O arquivo é bastante auto-explicativo, mas estou colando o conteúdo aqui para referência. Preste atenção na última linha (* .class binário):
fonte
Adicione a seguinte linha ao .git / info / exclude:
Hello.class
fonte
.git
?Eu tive um problema semelhante com o arquivo "dump.rdb".
Tentei adicionar esse arquivo de várias maneiras ao arquivo .gitignore, mas apenas uma maneira funcionava.
NOTA: Adicionar o arquivo em qualquer outro lugar não funcionou.
Por exemplo, consulte: https://gitlab.com/gitlab-org/gitlab-ce/raw/b3ad3f202478dd88a3cfe4461703bc3df1019f90/.gitignore
fonte
Esta página da web pode ser útil e economizar tempo ao trabalhar com
.gitignore
.Ele gera automaticamente arquivos .gitignore para diferentes IDEs e sistemas operacionais com os arquivos / pastas específicos que você normalmente não deseja extrair para o repositório Git (por exemplo, pastas específicas do IDE e arquivos de configuração).
fonte
Eu tentei isso -
git status .idea/xyz.xml .idea/pqr.iml Output .DS_Store
echo " .idea/xyz.xml .idea/pqr.iml Output .DS_Store" >> .gitignore
git status .gitignore
Da mesma forma, podemos adicionar o diretório e todos os seus subdiretórios / arquivos que queremos ignorar no status git usando
directoryname/*
e executei esse comando a partir dosrc
diretóriofonte
git rm -r --cached .
git add .
fonte
Eu tentei oe
--assume-unchanged
também o.gitignore
mas nem funcionou bem. Eles dificultam a troca de ramificações e a mesclagem de mudanças de outras pessoas. Esta é a minha solução:Ao confirmar , removo manualmente os arquivos da lista de alterações
Antes de puxar , escondo os arquivos alterados. E depois de puxar, eu faço um stash pop .
Às vezes, a Etapa 3 aciona uma mesclagem e pode resultar em conflito que você precisa resolver, o que é uma coisa boa.
Isso me permite manter alterações locais que não são compartilhadas com outras pessoas da equipe.
fonte