Ich arbeite an einer (Django) -Website mit zwei Zweigen: master
und dev
.
master
ist die Produktionsversion und hier sollte keine Arbeit direkt ausgeführt werden. Alle Änderungen sollten aus dem Zusammenführen von dev
branch stammen, sobald es als stabil angesehen wird.
dev
, wie Sie vielleicht vermuten, ist der Entwicklungszweig und alle Änderungen werden hier gemacht (und Unterzweige).
Im Server habe ich zwei Websites, die produktive (verwendet master
branch) und eine andere private für die Entwicklung, mit dev
subdomain, die dev
branch verwendet.
Das Problem besteht darin, dass alle Konfigurationsdateien, statischen Dateien (Bilder usw.) in der Steuerungsversion enthalten sind, um sie einfach auf den Server zu übertragen. Aber, wenn diese Art von Dateien (statisch, config ...) in dev
geändert werden, um nur auf dem Server zu debuggen und dann muss ich mit Master zusammenführen ... Wie kann ich einige Dateien und Verzeichnisse festlegen ignoriert werden beim Zusammenführen von Dev in Master?
Ich habe gesucht und einige verwandte Fragen , aber sie sagen Ihnen, .gitattributes
mit merge=ours
zu verwenden. Allerdings hat dieser Ansatz eine große Einschränkung: Er wendet nur die Strategie an, wenn die Datei in den beiden Zweigen geändert wird, aber das ist nicht mein Fall.
Irgendwelche Tipps, wie ich weitermachen soll?
Um ehrlich zu sein, klingt Git wie der falsche Ort, um dieses Problem zu lösen.
Django bietet Möglichkeiten für separate Einstellungen / Konfigurationen für Produktions- und Entwicklungsumgebungen. Ich schlage vor, dass Sie einen Blick auf diesen Beitrag werfen: Django: Wie man die Entwicklung verwaltet und Produktionseinstellungen?
Wenn Sie dem obigen Hinweis folgen, können Sie mit der Konfiguration usw. Ihrer Entwicklungsumgebung meckern, und dann wird die Zusammenführung mit dem Master harmlos, da die Produktion ihre eigene Konfiguration hat.
Es ist lange her. Aber ich suche nach der gleichen Lösung. Aus dem Nichts taucht es einfach in meinem Kopf auf: Verwenden Sie ein Untermodul für Konfigurationen. Mit einem Untermodul können Sie mehrere Zweige für verschiedene Konfigurationen haben.
Verwenden Sie symbolische Links, um Dateien aus dem Untermodul (in einem Unterverzeichnis) zu verknüpfen.
Tags und Links git branching-and-merging