Quero que o git ignore meu UserInterfaceState.xcuserstate
arquivo em meu projeto XCode4, mas onde devo colocá .gitignore
-lo? Ele está dentro da .git
pasta? ou fora? O .git
está na mesma pasta do ProjectName.xcodeproj
arquivo
Quero que o git ignore meu UserInterfaceState.xcuserstate
arquivo em meu projeto XCode4, mas onde devo colocá .gitignore
-lo? Ele está dentro da .git
pasta? ou fora? O .git
está na mesma pasta do ProjectName.xcodeproj
arquivo
Respostas:
Você pode ter um .gitignore
em cada diretório do seu projeto.
No entanto, a prática recomendada é ter um único .gitignore
arquivo no diretório raiz do projeto e colocar todos os arquivos que deseja ignorar nele, como este:
ignoredFile.whatever
ignoredDirectory/*
directory/ignoredFileInsideDirectory
.svn
Depois de criar o .gitignore
arquivo, os arquivos ignorados que têm alterações ou são novos no repositório não serão mostrados como aguardando confirmação.
Você também pode ter um arquivo git ignore local global, que gerenciará todos os seus repositórios git.
git config --global core.excludesfile ~/.gitignore_global
Esta alternativa é particularmente interessante para arquivos ignorados que não são relacionados ao projeto, como arquivos relacionados ao IDE e assim por diante.
Existem abordagens para ignorar arquivos no git:
~/.gitignore_global
caminho. Esta abordagem é boa se você deseja excluir alguns tipos de arquivos que são gerados pelo sistema operacional ou qualquer outra ferramenta de registro, cobrança e etc..git/info/exclude
arquivo em seu repositório. As regras especificadas neste arquivo não serão confirmadas, o que significa que não será compartilhado com outros. Geralmente, essa abordagem é útil para evitar a confirmação de arquivos gerados localmente. Por exemplo, para arquivos criados por seu editor..gitignore
em qualquer subcaminho de seu repositório específico. Esta abordagem geralmente é usada para ignorar alguns tipos de arquivo apenas em uma pasta específica de um repositório específico. Enquanto estes arquivos podem ser adicionados ao controle de versão por outros caminhos e outros repositórios.Então, minha sugestão é, se você quiser ignorar seu arquivo específico ( UserInterfaceState.xcuserstate
) em todos os seus repositórios, a melhor abordagem é usar a abordagem global git ignore. No entanto, se seu arquivo for gerado apenas em um repositório específico, você pode usar a abordagem git ignore por repositório.
Para obter mais informações, você pode ler esta ótima postagem no blog. E regras específicas para git ignore podem ser encontradas aqui . E você pode gerar automaticamente regras gerais do git ignore para idiomas, ferramentas ou sistemas operacionais específicos usando este site .
Você deve colocar o arquivo .gitignore no diretório raiz do projeto.
onde devo colocar o
.gitignore
arquivo ?, ele está dentro da pasta .git?
Não existe .gitignore
dentro de uma .git
pasta.
No entanto, é um .git/info/exclude
arquivo, que permite excluir um arquivo localmente, geralmente quando você deseja excluir um arquivo apenas para este repositório específico (com um alias como este ):
git config alias.exclude "!sh -c 'echo \"$1\" >> .git/info/exclude' -"
git exclude UserInterfaceState.xcuserstate
Se você precisar excluir este arquivo para todos os projetos semelhantes, como Elnur Abdurrakhimov mencionou em sua resposta , exclua-o globalmente.
echo UserInterfaceState.xcuserstate >> ~/.gitignore
Mas, conforme mencionado em " Precisamos fazer check-in * .xcuserstate? ", Se for um tipo de arquivo que deve ser ignorado por qualquer usuário desse repo, eu na verdade faria a versão de um .gitignore no topo do repo, com um conteúdo semelhante a:
*.xcuserstate
Dessa forma, nenhum usuário desse repo nem vai perceber que esse arquivo existe e é gerado (seja qual for o nome): não vai aparecer em um git status
nunca.
Ou você pode ignorarxcuserdata/
totalmente (em um global .gitignore
ou em um com versão, como o arquivo GitHub genéricoObjective-C.gitignore
.
Você não deve colocar arquivos específicos da ferramenta em um .gitignore
arquivo de projeto - a menos que essa ferramenta seja necessária para ser usada por cada desenvolvedor do projeto.
Em vez disso, crie seu .gitignore
arquivo global pessoal em seu diretório inicial e ative-o:
git config --global core.excludesfile ~/.gitignore
Agora você pode colocar quaisquer arquivos gerados por suas ferramentas de desenvolvimento em seu .gitignore
arquivo.