Ich habe eine Datenbankkonfigurationsdatei mit Standardwerten, die unwichtig sind. Änderungen an dieser Datei enthalten jedoch vertrauliche Informationen, die im Repo nicht nachverfolgt werden sollten.
Ich möchte, dass zukünftige Pulls des Git-Repositorys die Standardversion enthalten, aber alle von Benutzern vorgenommenen Änderungen ignorieren.
Im Folgenden wird eine lokale Konfiguration beibehalten, der Löschvorgang wird jedoch an das Repo weitergeleitet, was zu Problemen bei zukünftigen Pulls führt.
cat "app/dir/config.file" >> .gitignore
git rm --cached app/dir/config.file
Das Folgende erledigt den Job, bleibt aber nicht über den Push zum Repo hinaus bestehen.
git update-index --assume-unchanged app/dir/config.file
Dies scheint eine häufige Anforderung für die Versionskontrolle vertraulicher Informationen zu sein, aber ich kann anscheinend keine Lösung finden.
config.file.dist, die Standardkonfigurationswerte enthält, und lege diese fest. Wenn eine Kopie ausgecheckt ist, kopieren Sie einfach die.distDatei, um eine tatsächliche Konfigurationsdatei zu erstellen, und geben Sie die Werte ein, die Sie ändern möchten.