Frage
Ich versuche, meine statischen Dateien in einem separaten Zweig zu halten , damit ich sie aus der Verschmelzung in meinen Master Brach halten kann (auf Heroku, Slug Ihrer Anwendung muss klein bleiben). Ich will nicht meine statischen Dateien ignorieren, weil ich sie in meinem „devel“ Zweig behalten will.
Im Idealfall würde Ich mag test.db leer und meine gesamten öffentliche Ordner leer in dem Master-Zweig zu halten.
Also, ich kann einen ‚Overlay‘ auf einen Zweig erstellen? Kann ich verhindern, dass bestimmte Dateien / Verzeichnisse aus der Verschmelzung in meinen Master-Zweig?
Lösung
Sie könnten die gleichen statischen Dateien auf Ihrem Master-Zweig definieren, sondern:
- leer
- witw eine gitattributes-Dateien an Sie will immer Ihre lokale Version (dh leer) zu halten, wenn diese Dateien Zusammenführen
Da die .gitattribute nicht auf andere Zweige definieren würde, die Zusammenführung dieser Dateien normalerweise würde fortfahren.
Die Idee ist es, eine .gitattributes Datei im Verzeichnis dieser statischen Dateien auf dem Master-Zweig mit folgendem Inhalt zu definieren:
myStaticFile1 merge=keepMine
myStaticFile2 merge=keepMine
myStaticFile3 merge=keepMine
Diese drei Dateien werden immer ihre lokale Inhalte halten (die leer auf Master ist), wenn sie Meister verschmelzen.
In Kürze erhalten Sie haben einen Merge-Treiber definieren (hier „keepmine“ genannt). Siehe die verknüpfte Frage für das Skript.
Andere Tipps
Fügen Sie die Dateien in Master .gitignore. Wenn Sie Kasse devel wird .gitignore ändern und sie nicht mehr ignorieren. (Beachten Sie, dass, wenn Sie git clean -x
ausführen, werden die Dateien überschrieben werden.)