Oltre all'uso di sudo, si noti che nel 2016, libgnome-keyring
è specifico di GNOME ed è ora deprecato (da gennaio 2014, in realtà).
Opzione 2022:git-credential-manager
Microsoft fornisce un assistente per le credenziali multipiattaforma denominato GCM (Git Credential Manager) , che puoi installare (non è necessario compilarlo) e configurare:
git-credential-manager-core configure
Avrai bisogno di Git 2.27+ per usarlo.
Opzione 2016:git-credential-libsecret
Git 2.11+ (Q4 2016) includeva un nuovo assistente per le credenziali utilizzando libsecret
.
Vedi commit 87d1353 (09 ottobre 2016) di Mantas Mikulėnas (grawity
).
Un nuovo assistente per le credenziali che comunica tramite "libsecret " con implementazioni dell'XDG Secret Service API è stato aggiunto a
contrib/credential/
.utilizza
libsecret
che può supportare altre implementazioni dell'API XDG SecretService.
Ma nel 2022 questo non è più necessario. Vedi sopra
Come notato da mati865 nei commenti:
Va notato che alcune distribuzioni come Arch e Fedora forniscono helper disponibili sia come codice binario che sorgente.
- Binario di Libsecret su Arch:
/usr/lib/git-core/git-credential-libsecret
, e- Binario di Libsecret su Fedora:
/usr/libexec/git-core/git-credential-libsecret
.
Nota: Come @rugk aggiunge nei commenti, per Fedora e Git v2.25.2-1 o versioni successive, è necessario installare un pacchetto aggiuntivo con quel binario, perché è stato separato dal pacchetto git principale:
dnf install git-credential-libsecret
Usando sudo
esegue il comando come root. È come chiedere al tuo amministratore di sistema, se ne hai uno, di eseguire un comando per te. Il root
l'utente non destinato a fare qualsiasi cosa relativa allo sviluppo, e quindi git
non pensato per essere usato come root.
Una volta eseguito un comando come un altro utente (root o qualsiasi altro), è previsto che quest'altro utente non possa comunicare normalmente con il tuo utente abituale (in particolare, non trova qui il tuo gnome-keyring-daemon).
Quindi, la risposta è:"non farlo". Se hai davvero bisogno di clonare in una particolare directory, concediti le autorizzazioni su quella directory come suggerito nella risposta di CodeWizard. In realtà, se devi clonare in una directory in cui non hai i permessi, chiediti se stai facendo qualcosa di sbagliato:in linea di principio, questo non dovrebbe accadere (la mia ipotesi è:hai già usato sudo
troppo in passato e questo è il motivo per cui hai directory um-scrivibili qua e là).
A volte ho bisogno di eseguire sudo git clone poiché a volte la directory in cui devo creare un clone lo richiede. Qualsiasi aiuto sarebbe apprezzato
La cartella in cui provi a clonare il repository è stata creata da root quindi non hai il permesso di scrivere o creare una cartella sotto di essa a meno che tu non sia root (sudo
), imposta i permessi (chmod
o chown
) e sarai in grado di clonare nella cartella.
chmod 755 /path