A côté de l'utilisation de sudo, notez qu'en 2016, libgnome-keyring
est spécifique à GNOME et est désormais obsolète (depuis janvier 2014, en fait).
Option 2022 :git-credential-manager
Microsoft fournit un assistant d'identification multiplateforme nommé GCM (Git Credential Manager) , que vous pouvez installer (pas besoin de le compiler) et configurer :
git-credential-manager-core configure
Vous aurez besoin de Git 2.27+ pour l'utiliser.
Option 2016 :git-credential-libsecret
Git 2.11+ (Q4 2016) incluait un nouvel assistant d'identification utilisant libsecret
.
Voir commit 87d1353 (09 octobre 2016) par Mantas Mikulėnas (grawity
).
Un nouvel assistant d'identification qui parle via "libsecret " avec les implémentations de l'API XDG Secret Service a été ajouté à
contrib/credential/
.il utilise
libsecret
qui peut prendre en charge d'autres implémentations de l'API XDG SecretService.
Mais en 2022, ce n'est plus nécessaire. Voir ci-dessus
Comme noté par mati865 dans les commentaires :
Il convient de noter que certaines distributions comme Arch et Fedora fournissent des assistants disponibles à la fois en binaire et en source.
- Binaire Libsecret sur Arch :
/usr/lib/git-core/git-credential-libsecret
, et- Binaire Libsecret sur Fedora :
/usr/libexec/git-core/git-credential-libsecret
.
Remarque : Comme @rugk l'ajoute dans les commentaires, pour Fedora et Git v2.25.2-1 ou supérieur, vous devez installer un paquet supplémentaire avec ce binaire, car il a été séparé du paquet git principal :
dnf install git-credential-libsecret
Utilisation de sudo
exécute la commande en tant que root. C'est comme demander à votre administrateur système, si vous en avez un, d'exécuter une commande pour vous. Le root
l'utilisateur n'est pas destiné à faire quoi que ce soit lié au développement, et donc git
n'est pas destiné à être utilisé en tant que root.
Une fois que vous exécutez une commande en tant qu'un autre utilisateur (root ou autre), il est prévu que cet autre utilisateur ne puisse pas communiquer normalement avec votre utilisateur habituel (en particulier, il ne trouve pas votre gnome-keyring-daemon ici).
Donc, la réponse est :"ne fais pas ça". Si vous avez vraiment besoin de cloner dans un répertoire particulier, accordez-vous des autorisations sur ce répertoire comme suggéré dans la réponse de CodeWizard. En fait, si vous avez besoin de cloner dans un répertoire où vous n'avez pas la permission, demandez-vous si vous faites quelque chose de mal :en principe, cela ne devrait pas arriver (je suppose :vous avez déjà utilisé sudo
trop dans le passé et c'est la raison pour laquelle vous avez des répertoires inscriptibles ici et là).
J'ai parfois besoin d'exécuter sudo git clone car parfois le répertoire dans lequel je dois créer un clone l'exige. Toute aide serait appréciée
Le dossier dans lequel vous essayez de cloner le référentiel a été créé par root, vous n'avez donc pas l'autorisation d'écrire ou de créer un dossier sous celui-ci, sauf si vous êtes root (sudo
), définissez les autorisations (chmod
ou chown
) et vous pourrez cloner dans le dossier.
chmod 755 /path