Git Standard-Dateien (Ignorieren nach dem ersten Ziehen)

8

Wie würden Sie dieses Szenario in git einrichten:

Meine Quelle hat eine Einstellungsdatei mit Konfigurationseinstellungen, wie z. B. db Verbindungsanmeldeinformationen, etc ... (Dies ist eine Drupal-Quelle und ich verweise auf settings.php)

Wenn Entwickler die Quelle klonen, müssen sie Einstellungen vornehmen, die für ihre Umgebung spezifisch sind. Diese Änderungen sollten natürlich nicht zum Ursprung zurückgeschoben werden. Und gleichzeitig möchte ich, dass sie mit dieser Standardvorlage arbeiten können (da die meisten davon nicht geändert werden).

Also .gitignore funktioniert hier nicht, weil ich es in ihrem ersten Klon will. Muss ich jedem neuen Entwickler etwas über git update-index --assume-unchanged beibringen?

Gibt es keinen besseren Weg, dies zu tun?

    
ack 21.12.2011, 03:53
quelle

3 Antworten

9

Ich würde database.php zu database.php.sample umbenennen und database.php zu .gitignore hinzufügen.

Wenn ein neuer Benutzer auftaucht, kopieren Sie einfach von database.php.sample nach database.php und nehmen Sie die entsprechenden Änderungen vor.

    
Pedro Nascimento 21.12.2011 04:05
quelle
0

Ja, es gibt. Dies ist eine Lösung, die ich bereits veröffentlicht habe.

Verwenden Sie git add -N auf database.php dann git add -p . Bearbeiten Sie das Hunk, um sensible Daten durch Platzhalter zu ersetzen.

Die eine Sache, die Sie im Nachhinein beachten müssen, ist, dass Sie niemals git add . aus dem Stammverzeichnis des Repositorys nehmen sollten - aber niemand macht das, oder? ;)

    
fge 21.12.2011 08:26
quelle
0

Eine bessere Möglichkeit wäre, eine Filter-Treiber , mit einem Smudge-Skript :

Aufbauend auf Pedro Vorschlag (mit database.php in .gitignore ), würden Sie:

  • Version a database.php.sample
  • Kopieren Sie es in ein privates (dh nicht versioniertes) database.php durch das Smudgeskript (in git checkout ), nur wenn das private database.php noch nicht existiert.

Ab Version 1.7.4 wird %f in einer Filterdefinition durch den Pfad der aktuellen Datei ersetzt. Weitere Informationen finden Sie in der Hilfeseite .gitattributes

    
VonC 21.12.2011 05:12
quelle

Tags und Links