2017-07-26 2 views
1

Also hier ist was ich versuche zu tun. Ich habe ein Unity 3D-Projekt für meinen wiederverwendbaren Code. Und ich möchte das zu meinen anderen Projekten hinzufügen, die ich in git unterhalte.Symbolische Verbindung git Submodul zu Referenzdateien

Also sagen wir, ich habe ein Projekt 'foo'.
Ich möchte foo klonen und dann meine wiederverwendbaren Skripte als Untermodul hinzufügen;
dann möchte ich eine symbolische Verknüpfung zu dem Ordner, der alle wiederverwendbaren Skripts in meinem Untermodul enthält und eine, die in Asset-Ordner des Projekts foo vorhanden ist.
Also, wenn ich eine Änderung in meinem Projekt mache, könnte ich meine Änderungen zu meinem Sub-Modul-Projekt schieben.

Dies ist wahrscheinlich sehr verwirrend, bitte lassen Sie mich wissen, wenn ich genauer sein muss und ich werde versuchen, es besser zu machen.

Antwort

0

Am besten ist es, die beiden Umgebungen zu trennen:

  • die git clone ein, wo Sie foo und foo/script Submodul haben:

    git clone foo /url/of/foo 
    git submodule add /url/of/script 
    git add . 
    git commit -m "Add script as submodule of foo" 
    git push 
    
  • das Arbeitsumfeld, in dem Sie festlegen Ihre Symlinks zu foo und Skript-Skripten.

    cd somewhere/else 
    ln -s /path/to/foo/file1 
    ln -s /path/to/foo/scripts/scrip1 
    ... 
    

Auf diese Weise, wenn Sie Skripte geändert haben, können Sie in foo gehen zurück, und ein git push --recurses-submodules=check tun, um sicher zu machen haben Sie hinzugefügt/drücken Sie beide foo/Scripts und foo.

+0

Nur so, dass ich es verstehen kann. Ich füge meine 'Wiederverwendbaren' als Untermodul des Projekts 'foo' hinzu. Dann erstelle ich ein Arbeitsverzeichnis mit symbolischen Links zu beiden Projekten, um die gewünschte Struktur zu erstellen? Korrigieren Sie mich, wenn ich falsch liege, aber jemand wäre nicht in der Lage, meinen Repo zu ziehen und nur mit dieser Methode zu arbeiten, müsste dieser symbolische Link-Trick auf jeder Maschine durchgeführt werden, wo wir klonen? Werden diese symbolischen Link-Befehle auch auf Verzeichnisse und nicht nur auf Dateien angewendet? – Repareman

+0

@Repareman "Korrigiere mich, wenn ich falsch liege, aber jemand wäre nicht in der Lage, mein Repo zu ziehen und einfach mit dieser Methode zu arbeiten": Ja, dein Repo müsste ein Skript bereitstellen, das das Setup für dich erledigt. Symlinks funktionieren auch für Ordner. Ich sage nicht, dass dies ideal ist, ich versuche nur, Ihre ursprüngliche Anforderung zu beantworten: "Ich möchte eine symbolische Verknüpfung zu dem Ordner, der alle wiederverwendbaren Skripts in meinem Untermodul enthält, und eines, das in Asset-Ordner des Projekts foo vorhanden ist". Nicht sicher, warum du das brauchst, aber wenn du das tust ... meine Antwort steht. – VonC