Beachten Sie neben der Verwendung von sudo, dass im Jahr 2016 libgnome-keyring
ist spezifisch für GNOME und ist jetzt veraltet (eigentlich seit Januar 2014).
Option 2022:git-credential-manager
Microsoft stellt ein plattformübergreifendes Hilfsprogramm für Anmeldeinformationen namens GCM (Git Credential Manager) bereit , die Sie installieren (keine Erstellung erforderlich) und konfigurieren können:
git-credential-manager-core configure
Sie benötigen Git 2.27+, um es zu verwenden.
Option 2016:git-credential-libsecret
Git 2.11+ (4. Quartal 2016) enthielt ein neues Credential Helper mit libsecret
.
Siehe Commit 87d1353 (9. Okt. 2016) von Mantas Mikulėnas (grawity
). ).
Ein neuer Berechtigungshelfer, der über "libsecret" kommuniziert " mit Implementierungen der XDG Secret Service API wurde zu contrib/credential/
hinzugefügt .
es verwendet libsecret
die andere Implementierungen der XDG SecretService API unterstützen kann.
Aber im Jahr 2022 wird dies nicht mehr benötigt. Siehe oben
Wie von mati865 in den Kommentaren vermerkt:
Es sollte beachtet werden, dass einige Distributionen wie Arch und Fedora Hilfsprogramme bereitstellen, die sowohl als Binärdatei als auch als Quelle verfügbar sind.
- Libsecret-Binärdatei auf Arch:
/usr/lib/git-core/git-credential-libsecret
, und - Libsecret-Binärdatei auf Fedora:
/usr/libexec/git-core/git-credential-libsecret
.
Hinweis: Wie @rugk in den Kommentaren hinzufügt, müssen Sie für Fedora und Git v2.25.2-1 oder höher ein zusätzliches Paket mit dieser Binärdatei installieren, da es vom Haupt-Git-Paket getrennt wurde:
dnf install git-credential-libsecret
Mit sudo
führt den Befehl als root aus. Es ist, als ob Sie Ihren Systemadministrator bitten, einen Befehl für Sie auszuführen, falls Sie einen haben. Die root
Benutzer ist nicht soll alles tun, was mit der Entwicklung zu tun hat, und daher git
ist nicht soll als root verwendet werden.
Sobald Sie einen Befehl als ein anderer Benutzer (Root oder irgendein anderer) ausführen, wird erwartet, dass dieser andere Benutzer nicht normal mit Ihrem normalen Benutzer kommunizieren kann (insbesondere findet er Ihren gnome-keyring-daemon hier nicht).
Die Antwort lautet also:„Tu das nicht“. Wenn Sie wirklich in einem bestimmten Verzeichnis klonen müssen, erteilen Sie sich selbst Berechtigungen für dieses Verzeichnis, wie in der Antwort von CodeWizard vorgeschlagen. Wenn Sie tatsächlich in ein Verzeichnis klonen müssen, für das Sie keine Berechtigung haben, fragen Sie sich, ob Sie etwas falsch machen:Im Prinzip sollte dies nicht passieren (ich vermute:Sie haben bereits sudo
zu viel in der Vergangenheit und das ist der Grund, warum Sie hier und da umschreibbare Verzeichnisse haben).
Manchmal muss ich sudo git clone ausführen, da das Verzeichnis, in dem ich einen Klon erstellen muss, dies manchmal erfordert. Jede Hilfe wäre willkommen
Der Ordner, in den Sie versuchen, das Repository zu klonen, wurde von root erstellt, sodass Sie keine Berechtigung zum Schreiben oder Erstellen von Ordnern darunter haben, es sei denn, Sie sind root (sudo
), legen Sie die Berechtigungen fest (chmod
oder chown
) und Sie können in den Ordner klonen.
chmod 755 /path