O que deve incluir o arquivo gcodeignore do Xcode 6?


225

O que deve .gitignoreincluir o típico para o Xcode 6?

Também para obter informações sobre o xccheckoutintroduzido no Xcode 5, veja aqui


51
Esta não é uma pergunta "principalmente baseada em opiniões". Existem arquivos que o git sempre deve ignorar no XCode, arquivos de programas como o xcuserdata. A escolha de excluí-las não é de forma alguma baseada em opiniões.
Dermot #

4
Eu segundo Dermot naquele! Não ignorar alguns arquivos causa erros, portanto, há uma prática recomendada definitiva. Metade dos exemplos de código compartilhados nas respostas do SO pode ser considerada igualmente uma opinião, pois existem outras maneiras de fazer as coisas, mas geralmente existem boas práticas e padrões de fato aceitos.
raiva

2
Talvez fechado em parte porque há uma resposta extensa aqui: stackoverflow.com/questions/49478/… . Na minha pesquisa, você está incorreto ao dizer que o .xccheckout deve ser ignorado - mas não está 100% claro, e registrei um bug na Apple solicitando uma resposta oficial.
Adam

Respostas:


276

1)

A resposta mais fácil é que a minha fica assim:

# Xcode
.DS_Store
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
*.xcworkspace
!default.xcworkspace
xcuserdata
profile
*.moved-aside
DerivedData
.idea/
# Pods - for those of you who use CocoaPods
Pods

que acredito ser o mesmo .gitignore que o GitHub configura com todos os seus repositórios por padrão.

2)

Outra resposta é que existe um site chamado "gitignore.io" , que gera os arquivos com base nos modelos .gitignore em https://github.com/github/gitignore .


10
não se esqueça de remover xcworkspace no caso de você usar vagens de cacau se integrando pós cometer ganchos com eg Travis
Ivor Prebeg

3
Eu pesquisei todos os arquivos - cf stackoverflow.com/questions/49478/… - os vários colaboradores não vinculados ao projeto github claramente não o fizeram (vejo repetidamente coisas que deveriam estar lá, mas estão ausentes, e (pior) vice-versa ) Obviamente, não vou me incomodar em rastrear / comentar algo que está claramente mal mantido para começar :) - simplesmente desisti e escrevi um .gitignore em funcionamento e o compartilhei no StackOverflow
Adam

2
Cocoapods sugere pensar duas vezes sobre ignorar Pods: Guides.cocoapods.org/using/… ?
ericsoco

3
Pelo que vale a pena, passei um tempo pesquisando diferentes arquivos .gitignore do Xcode & Cocoapods e este parece funcionar melhor para mim. A pasta Pods é corretamente ignorada, pois é um estado final gerado. Além disso, o arquivo Podfile.lock está incluído, o que fornece metadados valiosos sobre o estado de uma compilação durante várias confirmações.
precisa saber é o seguinte

4
.idea/só é necessário que usarAppCode
Wanbok Choi

57

Se você estiver criando um novo projeto a partir do zero no Xcode 6 ... não há mais necessidade de um arquivo .gitignore longo, como apontei no meu último post : A Apple otimizou a estrutura padrão de arquivos e pastas de projetos para atender aos requisitos de Git claro e direto comete. A Apple também ignora dois padrões de arquivo por padrão se você criar o repositório git com um modelo de projeto do Xcode:

.DS_Store
UserInterfaceState.xcuserstate

Eles os adicionaram ao seu .git/info/excludesarquivo no diretório do projeto. Portanto, não é necessário ignorá-los novamente em .gitignore :-)

A única coisa que sempre incluo em um .gitignorearquivo é a

# Exclude personal Xcode user settings
xcuserdata/ 

2
Você se importaria de colocar a terceira linha na parte superior, para que eu não precise copiar duas vezes toda vez que chegar a essa resposta, por favor? Espero que receba 133 votos positivos também!
Dan Rosenstark

3
@ Yar ... como descrevi acima: a única linha que você precisa no seu arquivo .gitignore é a exclusão do xcuserdata /. As outras duas linhas já são tratadas pela Apple por padrão. Portanto, não é necessário copiar essas três linhas para o seu arquivo .gitignore.
crosscode 15/01

1
Oh! Uau. Na verdade, isso é algo que posso digitar manualmente. Ótimas coisas, obrigado por compartilhar e boa sorte aqui no SO.
Dan Rosenstark

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.