Es ist sehr üblich, dass in einem Projekt mindestens eine Konfigurationsdatei vorhanden ist. Jedes Mal, wenn ich ein Projekt mit teile git, habe ich das gleiche Problem mit:
- vertrauliche Informationen (jeder Entwickler hat unterschiedliche DB-Passwörter usw.)
- aufgabenspezifische Informationen (wenn der Entwickler an einer bestimmten Aufgabe arbeitet, bei der einige Einstellungen geändert werden müssen)
Offensichtlich müssen Konfigurationen irgendwie ignoriert werden, um zu verhindern, dass entwicklerspezifische Daten das Haupt-Repository überfluten. Jetzt gibt es verschiedene Möglichkeiten, die ich verwendet habe, jede mit einigen Fehlern:
.gitignoredie Konfigurationsdateien- der einfachste Weg
- Wenn Entwickler Repo klonen, fehlt die Konfigurationsdatei und man muss herausfinden, wo die Konfigurationen sie neu erstellt haben
- Konfigurationsdatei wird nicht ignoriert. Es enthält einige Dummy-Informationen, die jeder Entwickler entweder aufspürt und in seine Datei einfügt
.git/info/excludeodergit update-index --assume-unchanged ...auf die Datei setzt- Dateien sind für alle verfügbar, die Repo klonen
- Es enthält fortgeschrittene Techniken, die Leute verwirren könnten, die zum ersten Mal mit Git arbeiten
- Wenn jemand versehentlich Konfigurationsdateien festschreibt, können Benutzer nicht ziehen / abrufen (da Ausschlüsse nicht auf die gleiche Weise funktionieren wie
.gitignore)
- Verteilen Sie Konfigurationsdateien, denen beispielsweise ein Suffix hinzugefügt wurde,
_originalwährend Sie die realen Dateien in haben.gitignore. Jeder Entwickler benennt dann Dateien in echte Namen um- Dateien sind für alle verfügbar, die Repo klonen
- man muss während der gesamten Anwendung nach allen Konfigurationen suchen und sie umbenennen
Gibt es andere, möglicherweise bessere Möglichkeiten, damit umzugehen? Ich vermute, ich vermisse etwas, zumindest ein Plugin.
