Android Studio – Échec de la diffusion: fatal: Impossible de lire à partir du référentiel distant

J’ai un projet git sur Android Studio et une télécommande sur BitBucket et je l’ai changé pour utiliser SSH au lieu de HTTPS. Je peux tout faire fonctionner avec SourceTree d’Atlassian, mais dans Android Studio chaque fois que j’essaie de pousser le projet, il dit

Push failed: fatal: Impossible de lire à partir du référentiel distant.

Quelqu’un at-il une idée de ce qui pourrait se passer?

C’est probablement un problème d’Intellij. Votre clé est gérée de manière native par ssh et Intellij a son propre programme ssh.

Allez dans les parameters, recherchez git-> ssh exécutable puis choisissez native

Comme on le voit ici: git avec IntelliJ IDEA: Impossible de lire depuis le repository distant

Il y a deux manières de vérifier Git SSH dans Android Studio ou IntelliJ, en changeant via: parameters – Version Control – Git – SSH excutable – “Built-in” ou “Native”

  1. Intégré: signifie utiliser la paire de clés ssh intégrée à Git pour l’authentification. vous pouvez le générer via
    ssh-keygen -t rsa
    le chemin enregistré par défaut est “~ / .ssh / id_rsa” et “~ / .ssh / id_rsa.pub” . Vous devez append la clé publique dans votre compte BitBucket. le chemin comme: gérer le compte – clés SSH – append des clés
  2. Natif: signifie l’utilisation de la paire ssh générée par le service d’hébergement de référentiel natif, tel que BitBucket ou GitHub, qui est souvent ajouté automatiquement au compte de service. Par exemple dans GitHub. Il a généré une paire de clés SSH, “~ / .ssh / github_rsa.pub” et “~ / .ssh / github_rsa” et la clé publique a été ajoutée automatiquement dans mon compte via l’interface graphique de GitHub. Donc, changer l’exécutable SSH en “Native” pourrait être un moyen simple.

Quoi qu’il en soit, vous pouvez utiliser les deux méthodes après avoir ajouté la clé publique correcte dans votre compte dans le service d’hébergement de référentiel.

Allez dans Paramètres> Contrôle de version> Git. Assurez-vous que l’exécutable SSH est défini sur «Native».

S’il est déjà défini, revenez à «Built-in», appliquez-le, puis revenez à «Native».

entrer la description de l'image ici

J’ai le même problème. Il s’avère que la façon dont vous exécutez Android Studio est importante. Si vous l’exécutez avec des privilèges normaux depuis le terminal ou sth, il ne peut pas lire les fichiers locaux qu’il doit pour pousser le référentiel.

La solution pourrait être simplement de redémarrer Android Studio avec plus de privilèges qu’il n’en a actuellement.

Je suis tombé sur moi-même et j’ai trouvé que les réponses existantes étaient un peu incomplètes.

tl; dr: Basculer le client SSH d’Android Studio / IntelliJ de natif à natif peut résoudre le problème pour vous (c’est fait pour moi).

Android Studio (effectivement une IDE IntelliJ spécialisée) est livré avec son propre client SSH intégré, mais vous permet de basculer vers le natif (en fonction de la plate-forme / du système d’exploitation) si vous préférez. Vous pouvez changer cela en ouvrant vos options Android Studio, en recherchant «git» et en choisissant «native» dans la liste déroulante des exécutables SSH.

Dans mon cas, je n’ai pas pu passer à BitBucket via Android Studio, mais git push a bien fonctionné. Le passage au natif (OSX SSH, dans mon cas) a résolu le problème – maintenant je peux passer à BitBucket depuis Android Studio.

D’autres réponses ont abordé le sujet, mais il semble y avoir eu un mélange entre les exécutables SSH et les clés qu’ils utilisent.

Par Android Studio aide sous SSH Executable:

  • Built-in: sélectionnez cette option pour utiliser l’implémentation fournie par IntelliJ IDEA.
  • Natif: sélectionnez cette option pour utiliser l’implémentation native.

J’ai rencontré ce problème et finalement je l’ai résolu. Et il y a deux points importants pour le paramétrage: Dans le studio Android: File-Settings-GitHub: ne pas choisir “Cloner les référentiels git en utilisant ssh” Dans le studio Android: File-Settings-Git: Choisir “Built-in” pour “SSH exécutable ”

et pour le SSH que j’ai déjà dans le compte de GitHub, c’est celui que j’ai dans le studio Android, j’oublie comment trouver le SSH dans le studio Android, mais vous pouvez le trouver autrement.

Rendez-vous sur github.com et ouvrez votre référentiel et copiez l’URL USE HTTPS dans votre répertoire de projet Android. Dans le dossier .git, recherchez le fichier de configuration.

Dans le fichier de configuration, changez l’url que vous avez copié de github.com (utilisez https) avec l’URL précédente. enregistrer le fichier de configuration et pousser à nouveau. Cela a fonctionné pour moi.

Régénérez votre clé publique ssh et ajoutez-la à votre référentiel git hub.

 ssh-keygen -t rsa 

Cela a fonctionné dans mon cas.