2017-12-30 28 views
1

Ich arbeite an einer iOS-App und haben ein Drittanbieter-Framework, das nur für bestimmte Architekturen gebaut wird, so dass meine App Tests nicht ausgeführt werden können oder der iOS-Simulator. Ich kann nicht scheinen, schwache Framework-Verknüpfung zu bekommen, so dass ich dachte, ich kann nur das Framework und seine Verwendung in einem Dev-Zweig für Test und Entwicklung entfernen, aber das Framework im Master-Zweig für Releases behalten.Entfernen Sie Dateien und Code nur in Dev-Zweig, aber behalten Sie sie in Master beim Zusammenführen

Das Problem ist, dass, wenn ich es aus dem Dev-Zweig entfernen, und dann neue Features, die ich zum Master zusammenführen will, die Löschung der Framework-Verwendung auch zusammengeführt wird. Das macht Sinn, aber ich suche nach einem Weg.

Ist das mit Git möglich?

+0

Ich denke, Ihr grundsätzliches Problem ist, dass das 3rd Party Framework nicht in Master enthalten sein sollte. Du missbrauchst Git, indem du es so verwendest. Sie können jedoch einfach Ihre dev-Verzweigung neu erstellen, um die Festschreibung zu entfernen, die das Framework vor der Zusammenführung entfernt. –

+0

Was ist die Alternative, um das grundlegende Problem zu lösen? Grundsätzlich brauche ich das Framework in den Releases, aber es kommt bei der Entwicklung von Features in die Quere, die es nicht nutzen. – Helam

+1

Sie benötigen einen Freigabevorgang. Die Verwendung von Git zur Verteilung der Software ist * kein * guter Ansatz. –

Antwort

0

Wie bereits erwähnt, ist Git nicht am Build/Release-Prozess beteiligt.
Was können Sie tun, versioniert ist ein Build-Skript, das

  • der Lage ist, zu bestimmen, in dem Git-Zweigs es derzeit

    #!/bin/sh 
    branch=$(git rev-parse --symbolic --abbrev-ref HEAD) 
    
  • einen Symlink in der Quelle zu Ihrem Rahmen schaffen wird ausgeführt, wenn dieser Zweig ist master
    Oder wird diesen Symlink löschen, wenn dieser Zweig nicht master ist.

Verwandte Themen