Co powinien zawierać plik gitignore Xcode 6?


225

Co typowe powinno .gitignorezawierać Xcode 6?

Więcej informacji na temat xccheckoutwprowadzonych w Xcode 5 można znaleźć tutaj


51
To nie jest pytanie „oparte głównie na opiniach”. Istnieją pliki, które git powinien zawsze ignorować w XCode, pliki programów takie jak xcuserdata. Wybór, aby je wykluczyć, nie jest w żaden sposób oparty na opinii.
Dermot

4
W tym drugim drugim Dermocie! Nie ignorowanie niektórych plików powoduje błędy, dlatego istnieje ostateczna najlepsza praktyka. Połowa przykładów kodu udostępnionych w odpowiedziach SO może być równie uważana za opinie, ponieważ istnieją inne sposoby robienia rzeczy, ale są ogólnie przyjęte najlepsze praktyki i de facto standardy.
wściekłość

2
Może częściowo zamknięte, ponieważ istnieje obszerna odpowiedź tutaj: stackoverflow.com/questions/49478/... . W moich badaniach niesłusznie twierdzę, że .xccheckout należy zignorować - ale nie jest to w 100% jasne, a ja zarejestrowałem błąd w Apple, prosząc o oficjalną odpowiedź.
Adam

Odpowiedzi:


276

1)

Najłatwiejszą odpowiedzią jest to, że moja wygląda następująco:

# 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

który moim zdaniem jest tym samym .gitignore, który GitHub domyślnie konfiguruje ze wszystkimi swoimi repozytoriami.

2)

Inną odpowiedzią jest to, że istnieje strona internetowa o nazwie „gitignore.io” , która generuje pliki na podstawie szablonów .gitignore z https://github.com/github/gitignore .


10
nie zapomnij usunąć xcworkspace, jeśli używasz strąków kakaowych, jeśli integrujesz haczyki po zatwierdzeniu np. z travis
Ivor Prebeg

3
Przeszukałem wszystkie pliki - patrz stackoverflow.com/questions/49478/... - różni, nieproszeni współtwórcy projektu github wyraźnie nie widzieli (wielokrotnie widzę rzeczy, które powinny tam być, ale których brakuje, i (gorzej) odwrotnie ). Oczywiście nie zamierzam zawracać sobie głowy śledzeniem / komentowaniem czegoś, co na pewno jest źle utrzymane na początek :) - po prostu się poddałem i napisałem działający plik .gitignore, a następnie udostępniłem go na StackOverflow
Adam

2
Cocoapods sugeruje, aby zastanowić się dwa razy nad ignorowaniem Pods: guide.cocoapods.org/using/… ?
ericsoco

3
Jeśli chodzi o to, co warto, poświęciłem chwilę na badanie różnych plików .gitignore Xcode i Cocoapods, a ten wydaje mi się najlepszy. Folder Pods jest słusznie ignorowany, ponieważ jest to wygenerowany stan końcowy. Dołączony jest także plik Podfile.lock, który zapewnia cenne metadane dotyczące stanu kompilacji podczas różnych zatwierdzeń.
Matt Vukas,

4
.idea/jest potrzebny tylko tym, którzy używająAppCode
Wanbok Choi

57

Jeśli tworzysz nowy projekt od zera w Xcode 6 ... nie jest już potrzebny długi plik .gitignore, jak wskazałem w moim ostatnim poście : Apple zoptymalizował standardową strukturę pliku projektu i folderów, aby spełnić wymagania jasne i proste zobowiązania git. Apple domyślnie ignoruje również dwa wzorce plików, jeśli utworzysz repozytorium git za pomocą szablonu projektu Xcode:

.DS_Store
UserInterfaceState.xcuserstate

Dodali je do .git/info/excludespliku w katalogu projektu. Więc nie trzeba ich ponownie ignorować w .gitignore :-)

Jedyne, co zawsze dołączam do .gitignorepliku, to

# Exclude personal Xcode user settings
xcuserdata/ 

2
Czy mógłbyś umieścić trzecią linijkę w górnej części, więc nie muszę kopiować dwa razy za każdym razem, gdy przychodzę do tej odpowiedzi, proszę? Mam nadzieję, że otrzyma również 133 głosy poparcia!
Dan Rosenstark,

3
@ Yar ... jak opisano powyżej: jedyną linią, której potrzebujesz w pliku .gitignore, jest wykluczenie xcuserdata /. Pozostałe dwie linie są już domyślnie obsługiwane przez Apple. Więc nie trzeba kopiować tych trzech wierszy do pliku .gitignore.
crosscode

1
O! Łał. To właściwie coś, co mogę pisać ręcznie. Świetne rzeczy, dzięki za dzielenie się i powodzenia tutaj na SO.
Dan Rosenstark,

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.