963 Stimmen

Git-Ignore-Datei für Xcode-Projekte

Welche Dateien sollte ich in .gitignore bei Verwendung von Git in Verbindung mit Xcode ?

20 Stimmen

Siehe https://www.gitignore.io/api/swift,xcode,Cobjective-c,osx

2 Stimmen

Der obige Link führt zu einem Fehler: gitignore.io/api/swift,xcode,objective-c,osx

4voto

user1524957 Punkte 176

Ich habe hinzugefügt:

xcuserstate
xcsettings

und platzierte meine .gitignore-Datei im Stammverzeichnis meines Projekts.

Nachdem ich mich verpflichtet und gedrängt hatte. Ich bin dann gelaufen:

git rm --cached UserInterfaceState.xcuserstate WorkspaceSettings.xcsettings

mit dem unten stehenden Ordner vergraben:

<my_project_name>/<my_project_name>.xcodeproj/project.xcworkspace/xcuserdata/<my_user_name>.xcuserdatad/

Dann habe ich git commit und push erneut ausgeführt

0 Stimmen

Haben Sie es auch hinzugefügt? Oder ist das alles, was Sie tun?

1 Stimmen

Ja, ich habe beides hinzugefügt, aber xcusersate war die Hauptverursacherdatei. Nur durch Hinzufügen dieser Datei konnte ich meinen Code aus der Ferne übertragen. Andernfalls steckte ich in einer Feedbackschleife fest, die ein Commit vor dem Push erforderte. Also Sie begehen, dann Xcode 4.5 würde Sie bitten, wieder zu begehen und Sie sind nie in der Lage zu schieben, weil die pre req ist committing.

4voto

jqgsninimo Punkte 5674

gitignore.io : Erstellen Sie nützliche .gitignore-Dateien für Ihr Projekt

  • Beispiel ( macOS Objective-C Swift SwiftPackageManager Carthage )
  • Schritte zur Verwendung im Terminal Siehe das YouTube-Video

    1. Git global config alias erstellen (nur einmalig)

      git config --global alias.ignore '!gi() { curl -L -s https://www.gitignore.io/api/$@ ;}; gi'
    2. Geben Sie das Projektverzeichnis ein

      cd <the project directory>
    3. Erzeugen einer .gitignore-Datei

      git ignore macOS,Objective-C,Swift,SwiftPackageManager,Carthage >.gitignore
    4. Hinzufügen und Übertragen der .gitignore-Datei

      git add .gitignore
      git commit -m "Add .gitignore file"

2voto

funroll Punkte 33821

Hier ist die .gitignore die GitHub standardmäßig für neue Xcode-Repositories verwendet:

https://github.com/github/gitignore/blob/master/Objective-C.gitignore

Es ist wahrscheinlich, dass sie zu einem bestimmten Zeitpunkt einigermaßen korrekt ist.

0 Stimmen

Die github .gitignore Datei ist eine Sammlung aller Dateien, mit denen wir in der Vergangenheit Probleme hatten. Wenn Sie jetzt ein Xcode-Projekt von Grund auf neu starten und Xcode das Git-Repository vorkonfigurieren lassen, gibt es nicht mehr allzu viel in .gitignore zu ignorieren: Das einzige, was ich lieber ignoriere, ist xcuserdata/ ... das hilft, die Commits nicht zu überladen.

0 Stimmen

GitHub ist der erste Ort, an dem ich nach Gitignores suche :)

0voto

Basil Abbas Punkte 1784

Wir haben festgestellt, dass die *.pbxproj-Datei auch dann beschädigt werden kann, wenn man die .gitignore und die .gitattribte hinzufügt. Also haben wir einen einfachen Plan.

Jede Person, die im Büro programmiert, verwirft einfach die an dieser Datei vorgenommenen Änderungen. In der Übergabe (Commit) erwähnen wir einfach die Dateien, die zum Quellcode hinzugefügt werden. Und dann auf den Server übertragen. Unser Integrationsmanager sieht dann die Commit-Details und fügt die Dateien zu den Ressourcen hinzu.

Sobald er die Fernbedienung aktualisiert, hat jeder eine funktionierende Kopie. Falls etwas fehlt, informieren wir ihn, um es hinzuzufügen und dann noch einmal zu ziehen.

Das hat bei uns ohne Probleme funktioniert.

0voto

damianesteban Punkte 1575

Ich empfehle die Verwendung von joe zur Erzeugung einer .gitignore Datei.

Für ein iOS-Projekt führen Sie den folgenden Befehl aus:

$ joe g osx,xcode > .gitignore

Es wird folgendes erzeugen .gitignore :

.DS_Store
.AppleDouble
.LSOverride

Icon
._*

.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns

.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

build/
DerivedData

*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata

*.xccheckout
*.moved-aside
*.xcuserstate

1 Stimmen

Für die nächste Person, die versucht, Joe zu installieren, überprüfen Sie, ob es 5+ Jahre tote Repo wieder auferstanden ist, bevor Sie Zeit verschwenden

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X