Wie kann ich ein Git-Konfigurationselement als Funktion festlegen?

Wie kann ich ein Git-Konfigurationselement als Funktion festlegen?

Ich versuche, das Gem einzurichten gist, möchte aber nicht, dass mein GitHub-Passwort als Umgebungsvariable oder Git-Konfigurationselement gespeichert wird.Liesmichaus dem GitHub-Repo erklärt,

Sie können github.password auch als Befehl definieren, der das tatsächliche Kennwort auf stdout zurückgibt, indem Sie die Variable auf eine Befehlszeichenfolge mit dem Präfix setzen !.

Mein Problem ist herauszufinden, wo ich die beschriebene Funktion platzieren soll. Irgendwelche Tipps?

Hier ist die im obigen Link beschriebene Funktion (ruft das Element „github.password“ aus dem Mac OS-Schlüsselbund ab):

password = !security 2>&1 >/dev/null find-generic-password -gs github.password | ruby -e 'print $1 if STDIN.gets =~ /^password: \\\"(.*)\\\"$/'

Antwort1

Diese Zeile gehört in den githubAbschnitt $HOME/.gitconfig. Shell-Escapes und ähnliches machen das Leben schwer. Wenn $HOME/.gitconfig also nicht existiert oder keinen Abschnitt hat github, erstellen Sie es mit

git config --global github.password foo

Dadurch wird die Datei ggf. mit der richtigen Formatierung erstellt und eine Zeile hinzugefügt

password = foo

Bearbeiten Sie die Datei und ersetzen Sie sie password = foodurch die auf GitHub empfohlene Datei.

verwandte Informationen