464 Stimmen

Datei in einem Git Repo aufbewahren, aber Änderungen nicht verfolgen

Ich muss einige Dateien in mein GitHub-Repository aufnehmen, aber keine Änderungen an ihnen verfolgen. Wie kann ich das bewerkstelligen? Ein Beispiel für einen Anwendungsfall ist eine Datei, die vertrauliche Benutzerinformationen wie Anmeldedaten enthält.

Wenn ich zum Beispiel eine neue Installation dieses Frameworks auf einem neuen Client einsetze, möchte ich, dass die folgenden Dateien heruntergeladen werden (sie haben die Standardwerte CHANGEME) und ich muss nur noch Änderungen vornehmen, die für diesen Client spezifisch sind (Datenbankanmeldeinformationen, E-Mail-Adressen, benutzerdefinierte CSS).

// The production config files. I want the files but they need to be updated to specific client needs
application/config/production/config.php
application/config/production/database.php
application/config/production/tank_auth.php
// Index page, defines the environment (production|development)
/index.php
// All of the css/js cache (keep the folder but not the contents)
/assets/cache/*
// Production user based styling (color, fonts etc) needs to be updated specific to client needs
/assets/frontend/css/user/frontend-user.css

Wenn ich derzeit

git clone git@github.com:user123/myRepo.git httpdocs

und bearbeiten Sie dann die obigen Dateien, und alles ist gut. Bis ich einen Hotfix oder Patch veröffentliche und git pull . Alle meine Änderungen werden dann überschrieben.

0 Stimmen

2voto

Hrvoje Matić Punkte 1169

Die gegebenen Antworten lösen das Problem nur teilweise, führen aber zu noch mehr Problemen.

Ich musste die Datei "Web.Local.config" beibehalten. Die einzige Lösung, die für mich funktionierte, war:

1. Schließen Sie die Datei aus dem Projekt aus

2. Erstellen Sie eine separate Kopie der Datei als Web.LocalTemplate.config

Da "Web.LocalTemplate.config" nun von Git verfolgt wird, können alle Entwickler es als Ausgangspunkt verwenden. Allerdings wird die "Web.Local.config", die nicht Teil des Projekts ist, automatisch ignoriert.

2 Stimmen

Wie ist git update-index --skip-worktree FILENAME Ihr Problem nur teilweise löst oder sogar noch mehr Probleme schafft? Es löst genau das, was Sie zu tun versuchen. Haben Sie es ausprobiert?

2voto

Harsh Boricha Punkte 41

Vergewissern Sie sich, dass Sie "full path for filename" hinzufügen (relativer Pfad von Root)

git update-index --skip-worktree FILENAME .

Wenn Sie nicht den vollständigen Pfad für die Datei angeben. Es wird eine Fehlermeldung ausgegeben

fatal: Unable to mark file response.json

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X