MichiPedia

GIT und Wordpress

Um sehr große GIT Directories zu vermeiden, sollte im Falle von Wordpress lediglich der Bereich wp-content von GIT überwacht werden. D.h. es werden alle Themes, PlugIns, CSS; JS Skripte etc. übertragen, jedoch NICHT:

  • neue WP Kategorien
  • Passwortänderungen
  • neue Beiträge, etc
  • alles was mit der DB zu tun hat

Große Entwicklungs-Directories wie typischerweise node_modules sollten auch nicht in GIT gespeichert werden.

Wird das gesamte Wordpress Projekt umgezogen (z.B. nach Hostinger), geschieht das i.d.R. mit Hilfe von PlugIns wie z.B. "All in One WP Migration".

Dieses PlugIn kopiert das gesamte Wordpress Projekt. Wenn man dem PlugIn keine Einschränkungen mitteilt, wird folglich das .git Directory und .gitignore mit kopiert.

So sollten in GIT mindestens ausgeschlossen werden:

  • node_modules

Auszuschliessende Dateien im PlugIn "All in One WP Migration":

  • node_modules
  • .git
  • .gitignore

GIT Vorbereitung

# Lediglich Directory "wp-content" überwachen

cd <WP PROJECT>/wp_data/wp-content

# .gitignore Datei (ggfs anpassen)

   uploads
   node_modules
   upgrade
   upgrade-temp-backup
   ai1wm-backups
   /index.php
   /themes/index.php
   /plugins/index.php

Vorbereitung PlugIn "All in One WP Migration"

/* 
 * Status 10.08.2026:
 * 
 * Es werden zwei verschiedene Hooks verwendet. Ob der Hook
 *
 *             'ai1wm_exclude_content_from_export'
 *
 * auch die node_modules ausschliesst, wurde nicht geprüft
 */

function ignoreCertainFiles($exclude_filters) {
    $exclude_filters[] = 'grassau/node_modules';
    
    return $exclude_filters;
}
add_filter('ai1wm_exclude_themes_from_export', 'ignoreCertainFiles');

function ignoreGitFiles($exclude_filters) {
  $exclude_filters[] = '.git';
  $exclude_filters[] = '.gitignore';
  
  return $exclude_filters;
}
add_filter('ai1wm_exclude_content_from_export', 'ignoreGitFiles');