2015-09-28 19 views
8

Un effetto collaterale infelice dell'aggiornamento a Xcode 7 è che non riesco più a passare al repository Gitlab. Ho spinto e tirato fuori dal mio progetto senza problemi negli ultimi due anni, quindi sospetto che Xcode 7 stia facendo qualcosa di diverso. Ho verificato il mio u/p per Gitlab accedendo e uscendo da esso tramite l'interfaccia web. Quando vado su Xcode> Preferenze> Account, seleziona il progetto gitlab, vedo che il nome utente e la password sono lì (proprio come sono stati per 2 anni) e ho verificato che siano corretti.Impossibile inviare a gitlab da xcode 7

Vale la pena notare che posso postare con successo da Terminal, tuttavia, non desidero utilizzare Terminal per inviare il mio codice a Gitlab su base regolare. Qualcun altro ha riscontrato questo problema dall'aggiornamento? Qualche suggerimento su una correzione?

L'errore specifico che si ottiene è "Autenticazione non riuscita perché il nome utente o la password non erano corretti." Questo errore appare nella finestra di dialogo Account, così come dopo aver provato a eseguire un push sul repository gitlab.

+0

Ho anche avuto problemi di utilizzo Terminal in questo caso dopo l'aggiornamento a Xcode7 – ThisClark

+0

Forse perché XCode7 prendere in considerazione una casa diversa? Come ho visto prima in http://stackoverflow.com/a/32795999/6309. – VonC

risposta

7

Quindi questo uno era piuttosto un orso a lottare, e ad essere onesti, non sono sicuro quale sia la causa principale di questo errore è stato, ma il modo in cui ho risolto è stato questo:

  1. rimosso il mio vecchio chiave SSH da GitLab
  2. Creato una nuova chiave SSH sulla linea di comando, poi ha aggiunto a GitLab
  3. Rimosso il repo GitLab da Xcode> Preferenze> account
  4. Re-ha aggiunto il conto GitLab, utilizzando l'opzione chiavi SSH (che era anche prima, questo non è nuovo)
  5. Closed Xcode
  6. ha spazzato via la directory di lavoro del progetto
  7. Inaugurato Xcode, poi ha scelto di controllo sorgente> Checkout
  8. fornito l'indirizzo SSH (che si può ottenere dal GitLab all'interno della cartella di progetto)
  9. Realizzato una piccola modifica al progetto ai fini di controllo della capacità di spingere
  10. spinto a GitLab tramite controllo del codice sorgente Xcode> Spingere

Voila! Lavorato. Questa era sicuramente l'opzione nucleare ma mi ha fatto lavorare di nuovo. Sono fermamente convinto che l'aggiornamento di Xcode a 7 ha rovinato qualcosa. Se qualcun altro ha questo problema, spero che questo lo risolva!

2

Ho scoperto che Xcode 7 non ha più l'inclinazione "~" nell'URL. Esegui "git config --list" e controlla gli URL. Ad esempio, il mio URL remoto si presentava così:

ssh://[email protected]/~/product1.git 

Xcode può spingere bene dopo ho eseguito i seguenti comandi:

git remote set-url origin ssh://[email protected]/home/nobody/product1.git 

git config branch.master.remote ssh://[email protected]/home/nobody/product1.git 
1

mio problema era che Xcode provato utilizzando il file chiave sbagliata: .ssh/id_rsa invece di .ssh/id_dsa

3

stesso problema con Xcode 7.

sono riuscito a risolvere questo problema rigenerando le chiavi RSA e aggiornandoli in Gitlab.

Edit: purtroppo questo ha funzionato solo 1 volta

Edit2: Dopo aver lavorato una volta "a destra, fuori dalla scatola" dopo la modifica delle chiavi SSH, la seconda volta ho avuto la domanda per le credenziali di accesso, la finestra di dialogo dove puoi scegliere tra username/password e chiavi SSH. La scelta della chiave SSH ha funzionato. Dopo che la finestra di dialogo non è più apparsa.

Quindi, per riassumere:

  1. XCode spinta a Gitlab non funziona (chiedere le credenziali di accesso, chiave SSH non funzionante)
  2. rigenerato SSH RSA chiave e aggiunto a Gitlab (ho tolto il vecchio)
  3. spingendo poi lavorato senza dialogo
  4. prossima volta Xcode chiesto di effettuare il login da un'username/password di chiavi SSH
  5. chiavi SSH Selezione lavorato
  6. Successivamente la finestra di dialogo di accesso non appare più
+0

Potresti pubblicare ulteriori dettagli? – adao7000

+1

Sì, ho aggiornato il mio post come ho scoperto stamattina che il comportamento era un po 'più complicato ;-) –

1

Il mio problema era che id_rsa era un collegamento simbolico.

Il mio file .ssh/id_rsa era un collegamento simbolico a un altro file. In xcode, avevo specificato questo collegamento simbolico come il mio file di chiave privata ssh.

In questa configurazione, git pull funzionava ma Git Push non funzionava.

Quindi, in xcode, ho modificato il file della chiave privata ssh in modo che faccia riferimento a un file normale (il file al quale stava puntando il collegamento simbolico). E voilà, sia il push che il pull stanno funzionando ora.

Xcode versione 8.1 (8B62)

Problemi correlati