Verwalten von nicht verwandten Verzeichnissen in einem Git-Repository

9

Ich möchte zwei oder mehr Verzeichnisse in einem Git-Repository kombinieren. Diese Repositories sind logisch verknüpft, gehören aber zu verschiedenen Dateisystempfaden. zB /etc/httpd und /var/named/chroot/var/named enthalten beide virtuelle Host-Daten, die ich als Ganzes verwalten möchte, aber ich kann sie nicht verlinken .

Ich habe die git-Mailingliste gefragt , hatte aber keine Glück.

Vorschläge?

Update: Ich verwende diesen Mechanismus nicht für die Bereitstellung von Code. Ich finde, dass dies ein sehr praktischer Weg ist:

  • Verfolgen Sie die Änderungen, so wie sie geschehen, so dass ich sehr leicht git checkout mit einem früheren bekannten stabilen Punkt und Ereignis git bisect Konfigurationsprobleme beheben kann.
  • staging ändert sich in einem separaten Verzeichnis und zieht dann aus diesem Verzeichnis, wenn die Zeit für die Änderung gekommen ist.
Robert Munteanu 01.06.2009, 07:35
quelle

2 Antworten

2

Am besten schreiben Sie dazu ein Skript, das die Dateien bereitstellt, und verwenden Sie Git, um die Quelle für das Projekt zu verwalten. Wenn Sie anspruchsvollere Anforderungen haben, integrieren Sie Management-Tools wie Puppet in die Versionskontrolle.

Direkte Git-Checkouts sind keine gute Möglichkeit, die Bereitstellung durchzuführen - das war nicht dafür gedacht. Sie können das Problem vermeiden, dass auf den Zielsystemen Repositorys vorhanden sind, indem Sie die Exportfunktion verwenden, aber durch das Design speichert Git keine vollständigen Berechtigungs- / ACL-Daten für Dateien.

    
Stuart Ellis 01.06.2009 09:29
quelle
2

Vielleicht könnten Sie ein Git-Repository mit mehreren getrennten Zweigen einrichten, eines für jede einzelne Verzeichnisstruktur, die Sie verfolgen möchten. Ich bin nicht sicher, ob diese Anordnung alle Ihre Anforderungen erfüllen würde, aber es würde Ihnen erlauben, die verschiedenen Verzeichnisse im selben Repository zu behalten.

    
Greg Hewgill 02.06.2009 12:25
quelle

Tags und Links