Zum Inhalt springen

iCloud & GitHub Workflow auf macOS – Ordnerstruktur, Sync & Backups (2025)

· von

Wie ich auf mehreren Macs ohne Reibungsverluste arbeite: iCloud beherbergt alle Projektunterlagen, GitHub die Repos und Issues. Lokale Arbeitsordner bleiben schlank (keine großen Kundendaten) und Time Machine übernimmt die Backups. Deployments halten dist/ und den Server automatisch synchron.

iCloud & GitHub Workflow auf macOS – Symbolbild

~8 Min. Lesezeit · Veröffentlicht am

Ordnerstruktur

iCloud: Projektdaten & Webserver-Root

iCloud dient als „Single Source of Truth“ für Unterlagen und als gemeinsames Webroot für lokale Server (Apache/Nginx). Beispiel-VHost:

<VirtualHost *:8080>
  ServerName dev.local
  DocumentRoot "/Users/sven/Library/Mobile Documents/com~apple~CloudDocs/Work/Sites/devsite"
  <Directory "/Users/sven/Library/Mobile Documents/com~apple~CloudDocs/Work/Sites/devsite">
    AllowOverride All
    Require all granted
  </Directory>
</VirtualHost>

So ist das Projekt auf jedem Mac sofort startklar – iCloud sorgt für Dateiabgleich im Hintergrund.

GitHub: Repos, Branches & PRs

Sync: dist/ → Server automatisieren

Nach jedem Build halte ich dist/ und den Ziel-Server synchron. Zwei leichte Varianten:

Node.js + rsync (lokal)

// package.json (Ausschnitt)
"scripts": {
  "build": "node scripts/build.mjs",
  "deploy": "npm run build && node scripts/deploy.mjs"
}
// scripts/deploy.mjs (Beispiel)
import { execSync } from 'child_process';
const TARGET = 'user@example.com:/var/www/html/project';
execSync(`rsync -az --delete dist/ ${TARGET}`, { stdio: 'inherit' });

SFTP (Node)

// scripts/deploy.mjs (ssh2-sftp-client)
import Client from 'ssh2-sftp-client';
import fs from 'fs-extra';
const sftp = new Client();
await sftp.connect({ host:'example.com', username:'user', password:'***' });
await sftp.rmdir('/project', true).catch(()=>{});
await sftp.uploadDir('dist', '/project');
await sftp.end();

Beide Varianten sorgen dafür, dass dist/ und der Server-Inhalt deckungsgleich bleiben.

Backups mit Time Machine

Time Machine sichert iCloud-Inhalte (lokal vorgehaltene Dateien) und die lokalen Arbeitsordner. Kritische Daten liegen damit doppelt: in iCloud und im TM-Backup.

Praxis-Tipps & Stolperfallen