Ich weiß, dass es möglich ist, Konfigurationen pro Repo festzulegen, die die Konfiguration auf Benutzerebene /path/to/my/repo/.gitconfigüberschreiben (dh überschreiben ~/.gitconfig). Ist es möglich, Git-Konfigurationen festzulegen, die die Einstellungen auf Benutzerebene für alle untergeordneten Ordner eines bestimmten Ordners überschreiben? Dh ich habe
|--topLevelFolder1
|--\
| ---.gitconfig_override
|--\
| ---childFolder1
| \---[...]
|--\
| ---childFolder2
| \---[...]
Und ich möchte die definierten Einstellungen .gitconfig_overridein anzuwenden childFolder1und childFolder2.
Meine Motivation dafür ist folgende: Ich habe einen Arbeitslaptop, den ich auch in meiner Freizeit für persönliche Projekte benutze. Mein gesamter Arbeitscode ist in einem einzigen Ordner verschachtelt. Wenn ich zu Git-Repos drücke, muss ich dies mit meiner Arbeitsperson tun - Arbeitsanmeldung anstelle von Name und Arbeits-E-Mail. Wenn ich zu meinen persönlichen (Github-) Repos gehe, möchte ich dies mit meinem richtigen Namen und meiner persönlichen E-Mail-Adresse tun.
Andere mögliche Lösungen, an die ich gedacht habe (und Probleme):
- Erstellen Sie separate Benutzer für "Arbeiten" und "Spielen", stellen Sie die Einstellungen auf Benutzerebene entsprechend ein und melden Sie sich als geeigneter Benutzer an, wenn ich den Kontext wechsle (Ärger, und ich könnte leicht vergessen, zu wechseln).
- Erstellen Sie ein Skript, das in "workFolder" nach Git-Repos sucht und deren .gitconfig-Dateien hinzufügt / aktualisiert, um die entsprechenden Details zu speichern (wenn ich ein Repo erstelle und vergesse, das Skript vor dem Push auszuführen, werde ich als falsche Person pushen).
- "hack" git so, dass jedes Mal, wenn ein Repo erstellt wird, der Dateipfad überprüft und gegebenenfalls die .gitconfig-Datei aktualisiert wird (kompliziert, chaotisch und mit ziemlicher Sicherheit die falsche Vorgehensweise - außerdem hätte ich das nicht erster Hinweis, wie es geht!)
Ich habe diese Frage überprüft , die nur Lösungen für einzelne Repos zu enthalten scheint, nicht für mehrere. Hoffentlich wird jemand diese Frage sehen, der diese verpasst hat!
--globalBenutzereinstellungen sollten die Identität enthalten, die Sie häufiger verwenden. Jedes Repository, das die andere Identität verwenden sollte , sollteuser.nameunduser.emailentsprechend eingestellt.