2015-08-08 12 views
6

Sono nuovo di Xcode e ho appena scoperto che memorizza un sacco di informazioni utente e altre cose nella directory del progetto che non ho veramente bisogno nel controllo della versione o che voglio mettere su Github. Questo è ciò che un progetto Xcode appare fondamentalmente come:Quali file di un progetto Xcode dovrei memorizzare nel controllo di versione?

1 AppName/ 
2 ├── AppName 
3 │   ├── Base.lproj 
4 │   │   ├── LaunchScreen.xib 
5 │   │   └── Main.storyboard 
6 │   ├── Images.xcassets 
7 │   │   └── AppIcon.appiconset 
8 │   │    └── Contents.json 
9 │   ├── AppDelegate.swift 
10 │   ├── Info.plist 
11 │   └── ViewController.swift 
12 ├── AppName.xcodeproj 
13 │   ├── project.xcworkspace 
14 │   │   ├── xcuserdata 
15 │   │   │   └── user1.xcuserdatad 
16 │   │   │    └── UserInterfaceState.xcuserstate 
17 │   │   └── contents.xcworkspacedata 
18 │   ├── xcuserdata 
19 │   │   └── user1.xcuserdatad 
20 │   │    └── xcschemes 
21 │   │     ├── AppName.xcscheme 
22 │   │     └── xcschememanagement.plist 
23 │   └── project.pbxproj 
24 └── AppNameTests 
25  ├── AppNameTests.swift 
26  └── Info.plist 

La mia inclinazione è di impegnarsi solo il AppName/ e AppNameTests/ ed escludere la directory AppName.xcodeproj/. Qual è il modo consigliato per farlo?

+0

possibile duplicato di [Git ignore file per progetti Xcode] (http://stackoverflow.com/questions/49478/git-ignore-file-for-xcode-projects) – Jubobs

risposta

0

Una domanda migliore è cosa dovrebbe andare nel mio file ignora git. Questo è un link per il repo github contenente il file è necessario

https://github.com/github/gitignore/blob/master/Global/Xcode.gitignore

Assicurarsi u Iniziamo con questo file in modo che i file siano adeguatamente ignorati, perché se non lo fai il mio essere aggiunti già alcuni file e potrete devono rimuoverli manualmente.

0

Il "modo consigliato" dipende molto da cosa si vuole fare con il progetto. Tipicamente, ci sono tre scelte:

  • check-in solo i file che sono necessari per costruire il progetto
  • aggiungere file che riflettono le personalizzazioni di sviluppo (ad esempio i file di progetto che memorizzano i nomi dei currently- file visibili negli editor)
  • generato file, per creare un'istantanea completa dello stato del progetto.

Con l'ultimo, è possibile ottenere in problemi con timestamp (mentre git può essere detto di sapere qualcosa di commit-volte — vedere Checking out old file WITH original create/modified timestamps — poche persone lo fanno che). Senza un sistema che recupera i file utilizzando i timestamp originali, si termina con un insieme di file che richiede la ricompilazione ogni volta che si esegue un commit.

Anche il salvataggio dei file di personalizzazione può essere problematico se si spostano i file in un'altra parte del filesystem (o si tenta di condividere i file con altri).

Quindi ... utilizzare .gitignore per filtrare i file non necessari per la compilazione. Ma controlla di poter costruire con successo utilizzando un nuovo checkout.