Wie lege ich Standardaliase oder andere Konfigurationen für mein Git-Repository fest?

Lesezeit: 3 Minuten

Ich möchte einige Standard-Aliase und andere Konfigurationen für ein Git-Repository festlegen, damit neue Benutzer, die es klonen, diese Aliase sofort in diesem Projekt zur Verfügung haben.

Das heißt, ich möchte Folgendes tun:

git clone <remote-repo>

Und dann am Ende mit a .git/config die einige voreingestellte Aliase enthält, wie zum Beispiel:

[alias]
    st = status

Ich dachte, ich könnte bearbeiten .git/config im Remote-Repository, aber das funktioniert nicht.

Gibt es eine Möglichkeit, wie ich das bewerkstelligen kann?

  • Sie können nicht, aber ich habe mich sehr bemüht, als ich zum ersten Mal Git lernte.

    – Verrückter Physiker

    15. August 2017 um 17:07 Uhr

  • @MadPhysicist hast du irgendwelche nicht-manuellen Problemumgehungen gefunden?

    – daphtdazz

    15. August 2017 um 17:09 Uhr

  • Bestenfalls halb-nicht-manuell. Schreib es jetzt auf.

    – Verrückter Physiker

    15. August 2017 um 17:09 Uhr


Das kann man nicht direkt machen. Einige der Konfigurationen, wie die Tools, sind sehr plattformabhängig (manchmal benutzerabhängig), und git versucht zu vermeiden, dass dies zu einem Problem für alle wird, die Ihr Repository verwenden.

Zum Beispiel möchten Sie sicherlich nicht zulassen, dass jemand einen nicht lokalen Standardbenutzernamen und eine E-Mail-Adresse für das gesamte Repo festlegt, oder am Ende mit einer Reihe von Nur-Linux-Merge-Tools an einer Windows-Kaufabwicklung enden.

Davon abgesehen hindert Sie nichts daran, ein Skript mit beliebigen Befehlen in das Stammverzeichnis Ihres Projekts einzufügen und die Benutzer aufzufordern, es beim ersten Klonen auszuführen. Dies ist relativ wenig Aufwand, wenn Sie das Projekt bereits manuell klonen. Um beispielsweise Ihren Alias ​​einzurichten, gehen Sie in Ihrem Skript so vor:

git config --local alias.st status

Dies hat den zusätzlichen Vorteil, dass Sie verschiedene Skripte für verschiedene Plattformen schreiben können.

Ich würde davon abraten, anderen Benutzern Ihre bevorzugte Schnittstelle mit Git aufzuzwingen, nur weil sie ein von Ihnen eingerichtetes Repo klonen. Es kann sein, dass Sie ein zu stark vereinfachtes Beispiel verwendet haben, aber um ehrlich zu sein, es geht Sie nichts an, ob ein Benutzer einstellt st als Pseudonym für status.

Wenn Sie der Meinung sind, dass es einen Grund gibt, warum Sie mit Ihrem Repo arbeiten sollten Ja wirklich Aufrufe für bestimmte Aliase, dann könnten Sie ein Skript einfügen, das sie im Stammverzeichnis Ihres Projekts einrichtet. Sie können dies dann auf beliebige Weise dokumentieren – eine README-Datei, Notizen auf Ihrer Projektseite usw.

Aber für den bloßen Akt des Klonens, um die Einrichtung von Aliasnamen zu verursachen – sogar lokal für diesen neuen Klon – wäre eine massive Sicherheitslücke, also kann es nicht nur nicht getan werden, sondern ich würde erwarten, dass sich dies nie ändern wird.

  • Danke, Sie sagen, es wäre eine massive Sicherheitslücke, könnten Sie kommentieren, warum das so ist?

    – daphtdazz

    15. August 2017 um 17:25 Uhr

  • @daphtdazz: Wenn ich einen Klonbefehl ausführe, klone ich oft ein Repo, das von jemandem ohne Beziehung zu meiner Organisation erstellt und eingerichtet wurde. Vielleicht werte ich sogar ihr Projekt aus, um zu entscheiden, ob ich ihrer Software vertrauen möchte. Die genaue Bedrohung hängt davon ab, wie der Mechanismus implementiert ist, aber das Grundprinzip ist, dass die Ausgabe eines Klonbefehls nicht bedeutet, dass ich die Kontrolle über mein lokales System unter meiner Benutzer-ID demjenigen anbiete, der das Repo eingerichtet hat

    – Markus Adelsberger

    16. August 2017 um 12:35 Uhr


997200cookie-checkWie lege ich Standardaliase oder andere Konfigurationen für mein Git-Repository fest?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy