Hallo Johannes,
ok, ihr habt da zwei unterschiedliche Anwendungsfälle:
1. Vergleich der aktuellen Unterschiede zwischen DEV / QA / PROD
2. Verteilte Entwicklung + Übertragung DEV -> QA -> PROD
Den ersten Fall benötigt ihr in der Form aber nicht mehr, wenn der zweite Fall vollständig implementiert ist, korrekt?
Für den ersten Fall finde ich euren Ansatz gar nicht so schlimm (alle nicht-fachlichen Dateien ignorieren). Allerdings lässt sich der zweite Fall nicht darauf aufsetzen.
Für den zweiten Fall solltet ihr "auf der grünen Wiese" anfangen und beispielsweise euer aktuelles, zentrales Entwicklungsprojekt als Kopiervorlage für die Entwickler nehmen. Den Stand des Entwicklungsprojekts würde ich dann als initialen Stand auch ins git einchecken (develop).
Davon dann entsprechend Feature-Branches erstellen und diese auf den lokalen Entwicklungsprojekten importieren. Die kann man dann gut per Pull-Request zurück auf den develop-Branch mergen und so das zentrale Entwicklungsprojekt aktualisieren.
Dafür aber alles ausser des .FirstSpirit-Ordners aus eurer gitignore entfernen, sonst funktioniert das nicht. Es wird hierbei auch keine ID-Probleme geben.
Bitte lest euch auch die Doku durch, darin ist dieser Fall sehr gut beschrieben.
Bei Fragen zur Doku oder Verbesserungsvorschlägen gerne hier melden.
Ihr solltet auch nach Möglichkeit eure FirstSpirit-Server auf den aktuellen Release aktualisieren. Im Bereich External-Sync gibt es eigentlich fortlaufend Optimierungen (neue Features, Bugfixes).
Viele Grüße
Christian