1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

SCM: Teile von project.xcodeproj ignorieren ohne Korruption des Projektes

Dieses Thema im Forum "OS X-Developer" wurde erstellt von Poljpocket, 27.08.09.

  1. Poljpocket

    Poljpocket Salvatico di Campascio

    Dabei seit:
    07.01.07
    Beiträge:
    432
    Hallo,

    ich benutze seit kurzer Zeit Git als Versionskontrollsystem für meine Xcode-Projekte (vorher wars SVN). Dabei ist mir aufgefallen, dass Teile des *.xcodeproj-Bundles manchmal von Xcode geändert werden, obwohl an der Projektdatei überhaupt nichts wirklich geändert hat. -Edit: Ist übrigens bei SVN genauso!- Solche Dateien sind:

    *.xcodeproj/username.mode1v3
    *.xcodeproj/username.pbxuser

    Dies ist natürlich total ärgerlich, wenn man zum Beispiel auf eine andere branch wechseln will. Ich muss dann immer mit git-pull diese beiden Dateien auf den Stand der aktuellen branch bringen, bevor ich wechseln kann, damit keine nicht beachteten Änderungen oder Konflikte entstehen.

    Jetzt zu meiner Frage: Kann ich diese beiden Dateien von Git ganz einfach ignorieren lassen, ohne dass die Projektdatei korrupt wird?

    Vielen Dank und einen schönen Nachmittag, ppocket
     
  2. MacApple

    MacApple Lord Grosvenor

    Dabei seit:
    05.01.04
    Beiträge:
    3.470
    Du erstellst einfach eine Textdatei .gitignore in Deinem Projektordner mit folgendem Inhalt:
    Code:
    *.mode?v3
    *.pbxuser
    *.perspectivev3
    build/
    Damit werden alle möglichen userspezifischen Projekt-Dateien und der "build"-Ordner ignoriert.

    MacApple
     
  3. Poljpocket

    Poljpocket Salvatico di Campascio

    Dabei seit:
    07.01.07
    Beiträge:
    432
    Hallo und danke für die Antwort. Wie man Dateien ignoriert, weiss ich, aber danke trotzdem.

    Ich interpretiere also aus deiner Antwort mal raus, dass diese Dateien eigentlich nicht relevant für das Projekt sind und fürs Funktionieren nicht existent bzw. nicht aktuell sein müssen, richtig? (das war ja meine Frage :D, tut mir leid, wenn ich nicht konkret genug war!)

    Eine Frage trotzdem noch:

    Du schreibst *.mode?v3. Ist dieses Fragezeichen ein Tippfehler oder steht das für ein beliebiges Zeichen (lso, dass zB: username.mode1v3, aber auch username.mode2v3 ignoriert werden)??

    Gruss ppocket
     
  4. MacApple

    MacApple Lord Grosvenor

    Dabei seit:
    05.01.04
    Beiträge:
    3.470
    Ach so, da habe ich Dich falsch verstanden.

    Richtig. In diesen Dateien werden nur User bezogene Einstellungen gespeichert, wie Fensterpositionen zum Beispiel. Aber auch so Einstellungen wie Custom Executable oder Argumente die dem Programm beim Start übergeben werden.

    Das Fragezeichen steht für ein beliebiges Zeichen. Xcode bietet ja drei mögliche Layouts zur Auswahl: „Default“, „Condensed“ und „All-In-One“. Die Dateiendungen für diese drei Layouts sind aktuell .mode1v3, .mode2v3 und .perspectivev3.

    MacApple
     
  5. Poljpocket

    Poljpocket Salvatico di Campascio

    Dabei seit:
    07.01.07
    Beiträge:
    432
    Vielen Dank für die Hilfe,

    ich würd dir gerne Karma geben, wenn ich wüsste, wie das geht :)

    Gruss ppocket
     
  6. below

    below Kalterer Böhmer

    Dabei seit:
    08.10.06
    Beiträge:
    2.865
    Es gibt Leute, die behalten diese Datein bewusst im Repository (ich nicht, aber Apple zum Beispiel)

    Sie sind für das Projekt selbst nicht relevant, enthalten aber Deine persönlichen Einstellungen, zu denen zum Beispiel Fensterpositionen, Breakpoints und Custom Executables gehören.

    Alex
     
  7. Poljpocket

    Poljpocket Salvatico di Campascio

    Dabei seit:
    07.01.07
    Beiträge:
    432
    Ich finds einfach total lästig, dass Git immer eine Veränderung feststellt, wenn man das Projekt nur einmal geöffnet hat. Xcode scheint irgendwelche Dinge ständig minim zu ändern...

    Aber vielen Dank für die vielen Antworten, Gruss ppocket

    PS: Das mit den Breakpoints ist mir aufgefallen und Custom Executables habe ich bis jetzt keine :)
     

Diese Seite empfehlen