Ich verwende Filter, um Dateien während des Auscheckens zu entstellen, wie hier beschrieben . Das Problem ist nun, dass die Filterdefinition nur in meiner lokalen Konfigurationsdatei gespeichert ist:
$ cat .git/config
....
[filter "dater"]
smudge = /home/.../expand_date
clean = perl -pe \"s/\\\\\\$Date[^\\\\\\$]*\\\\\\$/\\\\\\$Date\\\\\\$/\"
Wenn meine Mitarbeiter von dieser Date
Erweiterung profitieren möchten , müssen sie meine Filterdefinition kopieren. Und wenn ich es ändere, muss ich sie benachrichtigen, etc ..
Kann ich diesen Teil der Filterdefinition .git/config
im Repository speichern und Git dazu bringen, ihn zu verwenden?
Antworten:
Es gibt 3 unterstützte
.gitconfig
Dateibereiche :--system, --global, --local
. Sie können auch eine benutzerdefinierte Konfigurationsdatei erstellen und in eine der unterstützten Dateien aufnehmen.Für Ihre Bedürfnisse individuell - ist die richtige Wahl. Anstatt Ihren Filter
.git/config
einzuschreiben, sollten Sie ihn in einer.gitconfig
Datei in Ihrem Repository-Stammverzeichnis speichern :Erstellen Sie das
.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 einbinden. Es ist nicht möglich, Ihre benutzerdefinierte Konfigurationsdatei allein über git automatisch einzuschließen, da dies zu einer Sicherheitslücke führt.Um diese Konfiguration für ein einzelnes Repository anzuwenden, muss jeder Benutzer den folgenden Befehl ausführen
your-repo/
:Achten Sie darauf , keine personenbezogenen Daten in den benutzerdefinierten zu speichern
.gitconfig
, wieuser.*
, halten die in Ihrem globalen.gitconfig
.quelle
.gitconfig
in seine aufgenommen werden müssen~/.gitconfig
. Niemand wird sich daran erinnern. Gibt es eine Möglichkeit git zu machen, immer den Repo lesen.gitconfig
.configure
Skript oder ähnliches haben, das Benutzer ausführen müssen, können Sie das Include festlegen (oder den Benutzer dazu auffordern).--file
Option zu gebengit config
, Sie können sie dann so einstellen, dass sie auf Ihre Repos zeigt.gitconfig
. Ich habe es noch nicht getestet, aber es scheint Ihre Frage zu beantworten. Sie können es in den Dokumenten lesen. git-scm.com/docs/git-config#FILESSie können
.gitconfig
standardmäßig keine Datei in einem Git-Repository verwenden, aber Sie können eine Verknüpfung dazu herstellen, damit die Git-Konfiguration versioniert wird.Sie können so darauf verlinken:
Ich habe ein einfaches Skript erstellt,
gitconfig.sh
das dies für Sie erledigt (viel schneller als das Kopieren) + eine einfache.gitconfig
Datei. Wenn Sie möchten, schauen Sie sich dieses Repo an: https://github.com/HoBi/dotfiles .BEARBEITEN : Ich habe die Datei gelöscht, aber Sie finden sie hier https://github.com/tenhobi/dotfiles/blob/7e4376c006c508370b82bc7bd37173fab51dbd01/git/.gitconfig.sh
quelle
~/
Ordner gespeichert werden . Und jeder hat möglicherweise andere Bedürfnisse. Warum also alle mit Ihrer Konfiguration in Git Repo belästigen? :-)