J'ai un projet git sur Android Studio et une télécommande sur BitBucket et je l'ai modifié 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 est indiqué
Échec du push: fatal: impossible de lire à partir du référentiel distant.
Est-ce que quelqu'un a une idée de ce qui pourrait se passer?
C'est probablement un problème d'Intellij. Vos clés sont gérées de manière native par SSH et Intellij a son propre programme SSH.
Allez dans les paramètres, recherchez git-> ssh exécutable puis choisissez native
Comme vu ici: git avec IntelliJ IDEA: Impossible de lire à partir du référentiel distant
Il existe deux méthodes de vérification SSH Git dans Android Studio ou IntelliJ, en passant par: les paramètres - Contrôle de version - Git - SSH remplaçable - "Intégré" ou "Natif"
ssh-keygen -t rsa
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.
Malgré le fait que mon exécutable SSH était défini sur Native
, je rencontrais cette erreur car j'ai défini le mot de passe pour le fichier de clé SSH.
Je n'ai pas trouvé le moyen de spécifier un mot de passe dans Android studio, mais il existe un autre solution, vous pouvez supprimer le mot de passe, qui peut être effectué avec $ ssh-keygen -p
. Ensuite, confirmez simplement l'emplacement du fichier, entrez votre ancien mot de passe et laissez le nouveau mot de passe vide.
Tiré de Comment puis-je supprimer la phrase secrète de la clé SSH sans avoir à créer une nouvelle clé?
Allez sur github.com, ouvrez votre référentiel et copiez USE URL HTTPS Accédez au répertoire de votre projet Android. Dans le dossier .git, recherchez le fichier de configuration.
DANS l’URL de modification du fichier de configuration que vous avez copiée à partir de github.com (utilisez https) avec l’URL précédente.
J'ai eu un problème similaire dans Android Studio 3.1
J'ai changé Préférences> Contrôle de version> Git> Exécutable SSH de Intégré à Natif comme suggéré ici mais cela n'a pas aidé.
Ensuite, j'ai mis à niveau Android Studio vers 3.2 et je suis revenu à Built-in . Cela a résolu le problème dans mon cas.
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 les privilèges normaux du terminal ou de sth, il ne peut pas lire les fichiers locaux nécessaires à la sauvegarde du référentiel.
Solution pourrait simplement consister à redémarrer Android Studio avec plus de privilèges qu’il n’en possède actuellement.
J'ai rencontré ce problème et je l'ai finalement résolu. Et il y a deux points importants pour le réglage: Dans le studio Android: File-Settings-GitHub: ne pas choisir "Cloner les référentiels git avec ssh" Dans le studio Android: File-Settings-Git: Choisissez "Construit -in "pour" exécutable SSH "
et pour le SSH que je possède 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 de l’autre
Je suis tombé dessus 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 d’intégré en natif peut résoudre le problème pour vous (c’est ce qui m’a été fait pour moi).
Android Studio (en réalité un IDE IntelliJ spécialisé) est fourni avec son propre client SSH intégré, mais vous permet de passer en mode natif (selon la plate-forme/le système d'exploitation) si vous préférez. Vous pouvez modifier cela en ouvrant les options de votre Android Studio, en recherchant «git» et en choisissant «natif» dans la liste déroulante des exécutables SSH.
Dans mon cas, je ne pouvais pas passer à BitBucket via Android Studio, mais git Push
fonctionnait parfaitement. Le passage en mode natif (OSX SSH, dans mon cas) a résolu le problème - je peux maintenant passer à BitBucket depuis Android Studio.
D'autres réponses ont abordé le sujet, mais il semble y avoir eu une certaine confusion entre les exécutables SSH et les clés qu'ils utilisent.
Par aide Android Studio sous SSH Executable: