2014-07-11 16 views
38

Ho un progetto git su Android Studio e un remoto su BitBucket e l'ho modificato per utilizzare SSH anziché HTTPS. Posso far funzionare tutto usando il SourceTree di Atlassian, ma in Android Studio ogni volta che provo a trasmettere il progetto diceAndroid Studio - Push non riuscito: irreversibile: impossibile leggere dall'archivio remoto

Push non riuscito: fatale: Impossibile leggere dal repository remoto.

Qualcuno ha idea di cosa potrebbe accadere?

+2

Potrebbe essere necessario aggiungere nuovamente il telecomando. Quel messaggio di errore si verifica quando Git non sa dove spingere. Dai un'occhiata a questa domanda simile: http://stackoverflow.com/questions/15409841/git-push-error-bitbucket- repository Penso che la risposta migliore dovrebbe aiutarti. – VinceFior

+0

Ma il mio file di configurazione ha l'URL remoto in esso, e SourceTree può fare il push ... – mFeinstein

+0

e 'git remote -v' mostra il telecomando ... usando th Terminale all'interno di Android Studio – mFeinstein

risposta

-2

Rigenera la tua chiave ssh pubblica e aggiungila al tuo repository git hub.

ssh-keygen -t rsa 

Ha funzionato nel mio caso.

+0

Uso BitBucket – mFeinstein

0

Ho avuto lo stesso problema. È importante che tu esegua Android Studio. Se lo esegui con i normali privilegi da terminale o sth, non è in grado di leggere i file locali necessari per poter eseguire il push del repository.

La soluzione potrebbe essere semplicemente riavviare Android Studio con più privilegi di quelli attualmente disponibili.

+0

Lo stai eseguendo su Windows? – mFeinstein

+0

No, sto usando Mint – mdzeko

15
Ci

è due modi per la verifica Git SSH in Android Studio o IntelliJ, cambiando via: impostazioni - Version Control - Git - SSH excuteable - "built-in" o "nativo"

  1. incorporato : significa utilizzare la coppia di chiavi ssh integrata in Git per l'autenticazione. è possibile generare tramite
    ssh-keygen -t rsa
    il percorso predefinito è salvato "~/.ssh/id_rsa" e "~/.ssh/id_rsa.pub". Dovresti aggiungere la chiave pubblica nel tuo account BitBucket. il percorso come: gestisci account - chiavi SSH - aggiungi chiavi
  2. Nativo: significa utilizzare la coppia ssh generata dal servizio di hosting del repository nativo, come BitBucket o GitHub, che è spesso autoaggiunto nell'account del servizio. Ad esempio in GitHub. Ha generato una coppia di chiavi SSH, "~/.ssh/github_rsa.pub" e "~/.ssh/github_rsa" e la chiave pubblica è stata aggiunta automaticamente nel mio account tramite la GUI di GitHub. Quindi cambiare l'eseguibile SSH in "Nativo" potrebbe essere un modo semplice.

In ogni caso, è possibile utilizzare in entrambi i casi dopo aver aggiunto la chiave pubblica corretta in acoount nel servizio di hosting del repository.

+0

Sto usando Built-In, e ho ancora l'errore. – mFeinstein

+0

se si sceglie il built-in: è possibile fare riferimento alla risposta di @kid. Rigenera la tua chiave ssh pubblica e aggiungila al tuo repository git hub.
'ssh-keygen -t rsa'
E la chiave pubblica ssh viene generata in __ ~/.ssh/id_rsa.pub__ incollandola nell'account git Hub. percorso è
account - impostazioni - chiavi SSH –

0

Mi sono imbattuto in questo io stesso e ho trovato che le risposte esistenti erano un po 'incomplete.

tl; dr: Il passaggio dal client SSH di Android Studio/IntelliJ da predefinito a nativo può risolvere il problema per voi (lo ha fatto per me).

Android Studio (in pratica una IntelliJ IDEA specializzata) viene fornito con il proprio client SSH incorporato, ma consente di passare a nativo (piattaforma/OS dipendente) se si preferisce. Puoi cambiarlo aprendo le opzioni di Android Studio, cercando 'git' e scegliendo 'nativo' nel menu a tendina SSH eseguibile.

Nel mio caso, non è stato possibile eseguire il push su BitBucket tramite Android Studio, ma l'git push ha funzionato correttamente.Passare a nativo (OSX SSH, nel mio caso) ha risolto il problema - ora posso inviare a BitBucket da Android Studio.

Altre risposte toccate sull'argomento, ma sembra esserci stato un po 'di confusione tra gli eseguibili SSH e le chiavi che usano.

Per Studio Android aiuto sotto SSH eseguibile:

  • Built-in: selezionare questa opzione per utilizzare l'applicazione fornita da IntelliJ IDEA.
  • Nativo: selezionare questa opzione per utilizzare l'implementazione nativa.
+0

non funziona, si prega di dare in qualsiasi altro modo –

39

Questo è probabilmente un problema di Intellij. La tua chiave è gestita nativamente da ssh e Intellij ha il proprio programma ssh.

Vai alle impostazioni, la ricerca git-> ssh eseguibile quindi scegliere native

come si vede qui: git with IntelliJ IDEA: Could not read from remote repository

+2

Grazie per questo, questo ha funzionato su OSx. Normalmente l'impostazione predefinita funziona se si è su una macchina pulita, ad esempio la prima installazione di Intellij, ma nel mio caso la macchina ha accessi multiutente che potrebbero avere avuto un impatto sui valori predefiniti. –

0

Ho incontrato questo problema, e alla fine ho risolto. E ci sono due punti importanti per l'impostazione: In Android Studio: File-Settings-GitHub: non scegliere "Clone repository git usando ssh" In Android Studio: File-Settings-Git: Scegli "Built-in" per "SSH eseguibile"

e per l'SSH che ho già nel conto di GitHub, è quello che ho nello studio Android, ho dimenticato come trovare l'SSH nello studio Android, ma lo puoi trovare dall'altra parte

5

Vai a Impostazioni> Controllo versione> Git. Assicurarsi eseguibile SSH è impostato su “nativa”.

Se è già impostato, tornare alla “Built-in”, applicarlo, e poi di nuovo tornare a “Native".

enter image description here

Problemi correlati