Um die Frage zu beantworten: Wenn Sie bestimmte Dateien einer Kasse ausschließen möchten, können Sie die Sparse-Kasse verwenden
1) .git/info/sparse-checkoutDefinieren Sie in , was Sie behalten möchten. Hier wollen wir alle (*) außer (beachten Sie das Ausrufezeichen) config.php:
/*
!/config.php
2) Sagen Sie git, dass Sie Sparse-Checkout berücksichtigen möchten
git config core.sparseCheckout true
3) Wenn Sie diese Datei bereits lokal haben, machen Sie das, was git bei einem spärlichen Checkout macht (sagen Sie ihm, dass diese Datei ausgeschlossen werden muss, indem Sie das Flag "skip-worktree" darauf setzen).
git update-index --skip-worktree config.php
4) Genießen Sie ein Repository, in dem Ihre config.php-Datei Ihnen gehört - unabhängig davon, welche Änderungen im Repository vorgenommen wurden.
Bitte beachten Sie, dass Konfigurationswerte NICHT in der Quellcodeverwaltung enthalten sein sollten:
- Dies ist eine potenzielle Sicherheitsverletzung
- Es verursacht Probleme wie dieses bei der Bereitstellung
Dies bedeutet, dass Sie sie ausschließen müssen (vor dem ersten Festschreiben in .gitignore ablegen müssen) und auf jeder Instanz, auf der Sie Ihre App auschecken, die entsprechende Datei erstellen müssen (indem Sie eine "Vorlagendatei" kopieren und anpassen).
Beachten Sie, dass .gitignore keine Auswirkungen mehr hat, sobald eine Datei von git übernommen wurde.
Sobald die Datei der Quellcodeverwaltung unterliegt, haben Sie nur zwei Möglichkeiten (): - Erstellen Sie den gesamten Verlauf neu, um die Datei zu entfernen (mit git filter-branch) - Erstellen Sie ein Commit, mit dem die Datei entfernt wird. Es ist, als würde man einen verlorenen Kampf führen, aber manchmal muss man damit leben.
config.phpzugesagt?