2016-04-27 9 views
1

Hallo Ich versuche, ein Git-Repo mit zwei Upstreams einzurichten.git-subtree checkout spezifischer Ordner unter anderem Namen

  • Upstream-jointswp: (https://github.com/JeremyEnglert/JointsWP/)

    • Der gesamte Wurzelordner/geht an root/meine repo. (Kein Problem)
  • Upstream-WooCommerce: (https://github.com/woothemes/woocommerce)

    • Die subdir dieser Repo-/Vorlagen sollten unter/WooCommerce in meinem Repo gehen.
    • Ich konnte erreichen, dass die/Templates geht nur als Ordner/Baum in meinem Repo mit einem sparseCheckout.
    • Ich versuche git-subtree zu verwenden, um die Commits zu verfolgen.

Wenn ich git-Unterstruktur. Wie überprüfe ich die Sachen bei/templates von meinem Upstream zu/woocommerce in meinem Repo?

Wenn meine Frage nicht als straigth vorwärts, wie ich hoffe, plz gib mir ein Zeichen;)

Antwort

1

Sie sollten die split und add kombinieren.

So klonen Sie das Projekt, das Sie wollen, Teil von und dann erstellen Sie eine Verzweigung darin, die die templates/ enthält. I.e.

git subtree --prefix=templates/ split -b templates_only 

Dann könnten Sie den Zweig aus einem anderen Repo verwenden:

git subtree --prefix=woocommerce/ add ../woocommerce_clone/.git templates_only 
+0

Vielen Dank für Ihre Antwort. Das funktioniert. Aber ist ein Schmerz von der Performance-Seite betrachtet. Es gibt 5k + Commits im Subdir, die aufgeräumt werden. Es dauert ewig, um den Split zu machen. Gibt es eine Möglichkeit, es zu beschleunigen oder sollte ich stattdessen Git-Submodul verwenden? – termnml

+0

@termnml Könnte Submodul es tun? Ich bezweifle. Wie ich verstehe, haben Sie keine Wahl, der Split sollte alle Commits durchlaufen und sehen, welche von ihnen das Subdir beeinflussen. Die einzige gute Sache mit "Split" - Sie müssen es nur einmal tun, dann können Sie subtree viel schneller ziehen/drücken. – kan

+0

Vielen Dank für das Heads-Up. ;) – termnml