Git config als Teil des Repository speichern

Ich benutze Filter, um Dateien während des Checkouts zu beschädigen, wie hier beschrieben. Jetzt ist das Problem, dass Filterdefinition nur in meiner lokalen Konfigurationsdatei gespeichert wird:

$ cat .git/config .... [filter "dater"] smudge = /home/.../expand_date clean = perl -pe \"s/\\\\\\$Date[^\\\\\\$]*\\\\\\$/\\\\\\$Date\\\\\\$/\" 

Wenn meine Mitarbeiter von dieser Date profitieren möchten, müssen sie meine Filterdefinition kopieren. Und wenn ich es ändere, muss ich sie benachrichtigen, etc ..

Kann ich diesen Filterdefinitionsteil von .git/config im Repository speichern und ihn benutzen?

Es gibt 3 unterstützte Bereiche der .gitconfig Datei: --system, --global, --local . Sie können auch eine benutzerdefinierte Konfigurationsdatei erstellen und sie in eine der unterstützten Dateien einbeziehen.

Für Ihre Bedürfnisse angepasst – ist die richtige Wahl. Anstatt Ihren Filter in .git/config schreiben, sollten Sie ihn in der .gitconfig Datei in Ihrem Repository-Root speichern:

 your-repo/ │ ├── .git/ │ ├── config │ ├── .gitconfig │ 

Erstellen Sie die .gitconfig mit Ihrem Filter und übernehmen Sie die Änderungen. Dann werden Ihre Kollegen es immer auf dem neuesten Stand halten – aber sie müssen es manuell hinzufügen. Es ist nicht möglich, Ihre benutzerdefinierte Konfigurationsdatei automatisch über git zu integrieren, da dies eine Sicherheitslücke schafft.

Um diese Konfiguration für ein einzelnes Repository anzuwenden, muss jeder Benutzer den folgenden Befehl in your-repo/ Repository ausführen:

 git config --local include.path ../.gitconfig 

.gitconfig Sie darauf, keine persönlichen Daten in der benutzerdefinierten .gitconfig zu speichern, wie user.* , .gitconfig diese in Ihrer globalen .gitconfig .

Sie können die Datei .gitconfig nicht .gitconfig in einem Git-Repository verwenden, aber Sie können eine Verknüpfung zu ihr herstellen, damit die Git-Konfiguration versioniert wird.

Sie können damit verlinken:

 [include] path = ../.gitconfig 

Ich habe ein einfaches Skript gitconfig.sh das es für Sie tun (viel schneller als kopieren) + einfache .gitconfig Datei, wenn Sie möchten, casting Sie einen Blick auf dieses Repo https://github.com/HoBi/dotfiles .


EDIT : Ich habe die Datei gelöscht, aber Sie können es hier https://github.com/tenhobi/dotfiles/blob/7e4376c006c508370b82bc7bd37173fab51dbd01/git/.gitconfig.sh finden