Xcode-Projekte in Git anlegen
Um ein Xcode-Projekt in Git anzulegen, habe ich ein kleines Shell-Skript geschrieben (Download), das folgende Schritte ausführt:
- Ein leeres Git-Repository erzeugen.
- Die Datei
.gitignoremit folgendem Inhalt erstellen:build *.pbxuser *.mode1v3 .DS_Store
Damit werden dasbuild-Verzeichnis, benutzerspezifische Dateien sowie die von Mac OS X angelegten .DS_Store-Müllhalden von der Versionierung ausgeschlossen. - Die Datei
.gitattributesmit folgendem Inhalt erstellen:*.pbxproj -crlf -diff -merge
Der Parameter "-crlf" bewirkt, dass für Dateien mit der Endung.pbxprojkeine Transformation der Zeilenumbrüche vorgenommen wird, "-diff" und "-merge" schließt den Vergleich (diff) und die Zusammenführung (merge) mit vorherigen Versionen aus. - Den derzeitigen Stand in das Repository einchecken.
~/Projects/PeachApp abgelegt wurde):$ cd ~/Projects/PeachApp $ xcode-git-init.sh Initialized empty Git repository in ~/Projects/PeachApp/.git/ Creating .gitignore. Creating .gitattributes. Commiting initial revision. add '.gitattributes' add '.gitignore' add 'English.lproj/InfoPlist.strings' add 'English.lproj/MainMenu.xib' add 'Info.plist' add 'PeachApp.xcodeproj/TemplateIcon.icns' add 'PeachApp.xcodeproj/project.pbxproj' add 'PeachApp_Prefix.pch' add 'main.m' Created initial commit 902b78f: Initial revision. 9 files changed, 3088 insertions(+), 0 deletions(-) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 English.lproj/InfoPlist.strings create mode 100644 English.lproj/MainMenu.xib create mode 100644 Info.plist create mode 100644 PeachApp.xcodeproj/TemplateIcon.icns create mode 100644 PeachApp.xcodeproj/project.pbxproj create mode 100644 PeachApp_Prefix.pch create mode 100644 main.m Finished. Have fun.
So bekommt man einfach und schnell ein Repository für ein Xcode-Projekt, egal, ob es sich dabei um das nächste große Ding handelt oder nur um einen Prototypen. Denn wie schrieben Andy Hunt und Dave Thomas schon 1999:
Always Use Source Code Control. Always. Even if you are a single-person team on a one-week project. Even if it's a "throw-away" prototype. Even if the stuff you're working on isn't source code. Make sure that everything is under source code.
Aus The Pragmatic Programmer, Kapitel 17, Seite 86ff.
Schlüsselwörter: git, mac, versionskontrolle, xcode
Schlüsselwörter
- berlin (2)
- blog (5)
- browser (2)
- cocoaheads (5)
- dropbox (1)
- git (7)
- idisk (1)
- iphone (28)
- javascript (2)
- kurztip (4)
- linktips (17)
- mac (9)
- macruby (1)
- objective-c (8)
- ortung (1)
- programmierung (22)
- rails (1)
- railsconf (7)
- ruby (6)
- ruby on rails (7)
- schnipsel (14)
- server (2)
- spiele (1)
- statistiken (3)
- stuttgart (3)
- testen (4)
- tidy (1)
- versionskontrolle (5)
- wwdc (1)
- xcode (9)
- xml (1)
Kommentare
Von alex vor 311 Tagen hinzugefügt
Danke, funktioniert prima und spart ein wenig Arbeit!
Einziger Schönheitsfehler: Das shell-script wird ebenfalls ins repo aufgenommen, ist das beabsichtigt?
Von Thomas Dohmke vor 311 Tagen hinzugefügt
Einfach das Shell-Skript in ein anderes Verzeichnis legen (ich habe es in
~/scripts) und dieses Verzeichnis dem PATH hinzufügen.Von Anonymous vor 310 Tagen hinzugefügt
Manchmal ist die Lösung eh so einfach, ich hätte das script schon so umgebaut, dass es einen Pfad entgegennimmt.
thx!
Von Michael vor 224 Tagen hinzugefügt
Ich würde für in der .gitignore Datei die Zeile
*.mode1v3ändern in
*.mode?v3und außerdem noch die Zeile
*.perspectivev3hinzufügen. Damit erwischt man dann auch alle "Workspace-Modi" von Xcode.