Git und WordPress (+ Plugins und Medien verwalten)

Lesezeit: 3 Minuten

Ich möchte die Revisionskontrolle – mit Git – auf meine WordPress-basierte Website-Entwicklung anwenden.

Basierend auf meinen Bedenken unten, wie gehe ich vor?

Bedenken 1: „Granular Changes“ vorantreiben

In diesem speziellen Fall ist es schwierig, die Webserverumgebung lokal nachzuahmen. Daher möchte ich sehr oft Änderungen vorantreiben. Könnte ich Änderungen auf einer “Sub-Commit-Ebene” an den Webserver übertragen, um “irrelevante” Commits zu vermeiden? (Und muss ich überhaupt ein Git-Repo auf meinem Remote-Webserver einrichten?)

Bedenken 2: Umgang mit Plugins und Medien

Zuvor haben ich und meine Kollegen Plugins installiert/aktualisiert und Medien über die Admin-Oberfläche von WordPress hochgeladen. Wenn ich auch Medien und Plugins synchron halten möchte, wie würde dies erreicht?

Ich würde mich über Ressourcen freuen, die detailliert beschreiben, wie ich einen Workflow einrichten kann, der es mir ermöglicht, alle meine Dateien (WordPress + Plugins, Medien, Themen usw.) lokal zu speichern, während ich gleichzeitig „granulare Änderungen“ auf meinen Webserver übertragen und “echte Commits” an Github.

  • Was hast du letztendlich mit Plugin- und Medienhandhabung gemacht? Ich versuche gerade, den gleichen Teil meines Workflows herauszufinden.

    – Jo Sprague

    8. April 2013 um 3:46 Uhr

  • Hallo @JosiahSprague, ich mache alle dev. lokal (inkl. Plugin-Installationen) und verwenden Sie das WordPress-Skelett github.com/markjaquith/WordPress-Skeleton Kern-WP von meinen Modifikationen zu trennen. Das Skelett trennt auch Medien, was eine gute Praxis ist, da Sie diese möglicherweise von einem anderen Ort aus bedienen möchten.

    – Dani

    8. April 2013 um 18:49 Uhr

  • Kühl. Das ist ähnlich wie bei meinem letzten Projekt, aber ich mag es nicht, dass das Inhaltsverzeichnis außerhalb des WordPress-Verzeichnisses liegt, einfach weil einige schlecht geschriebene Plugins nicht mit diesem Setup kompatibel sind.

    – Jo Sprague

    8. April 2013 um 22:48 Uhr

  • Was machen Sie mit diesem Setup, wenn Sie ein Plugin hinzufügen möchten, das nicht als Git-Repo existiert? Zum Beispiel Google Analytics für WordPress von Yoast. Kopierst du die Dateien einfach in den Plugins-Ordner und überträgst sie direkt in dein Git-Repo? Fügst du sie zu Git Ignore hinzu? Spiegeln Sie das SVN-Repo in Git? Oder machst du etwas anderes, woran ich noch nicht gedacht habe?

    – Jo Sprague

    14. April 2013 um 16:42 Uhr

In Bezug auf Concern1 können Sie diese Mikroänderungen in einem Zweig isolieren.

Grundsätzlich hat Ihr lokales Repo zwei Zweige:

  • eine, die Ihren granularen Commits gewidmet ist
  • eine (Master) für GitHub

Sie können alles pushen auf:

  • Ihre Website in einem Bare Repo, klonen Sie sie und checken Sie den “granularen” Zweig aus.
  • GitHub, mit Master aktualisiert mit den “echten” Commits.

Sie können Ihren Verlauf bereinigen und Ihre echten Commits erstellen rebasieren den granularen Zweig über dem Master auf interaktive Weise:

git checkout master
git rebase -i granular

Das war, dass Sie granular erstellte Commits auswählen, squashen oder bearbeiten und einen saubereren Satz von Commits auf dem Master wiedergeben.
Das schreibt die granulare Geschichte um, aber das ist nicht schlimm, wenn niemand direkt aus diesem Zweig zieht.
Nur wenn Sie den granularen Verlauf beibehalten möchten merge oder cherry-pick einige Commits von granular zu master.

Es gibt mehrere Beispiele für die Verwaltung von WordPress mit Git:

Der letzte Link ist der detaillierteste über den WordPress-Upgrade-Prozess und endet auch mit einem Rebase Ihrer Änderungen;

1379210cookie-checkGit und WordPress (+ Plugins und Medien verwalten)

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy