2012-06-19 10 views
10

io possa mancare qualcosa, ma sono sicuro che ho controllato tutto, ho biforcuta un repo e clonato sul mio sistema, apportato alcune modifiche dopo commettere fatto git push origin mastergit github non può spingere all'origine

si dice

fatal: remote error: 
    You can't push to git://github.com/my_username/my_repo.git 
    Use [email protected]:my_username/my_repo.git 

mi sto perdendo qualcosa? poi provato git remote add origin https://github.com/my_username/my_repo.git

è restituito

fatale: origine già esistenti.

Non capisco perché questo è hapenning, pls aiutare

risposta

21

L'url con

git://github.com/my_username/my_repo.git 

git: // dà solo accesso in sola lettura, come indicato nella parte troppo ..

enter image description here

considerando che,

[email protected]:my_username/my_repo.git 

dà accesso in lettura e scrittura come indicato nel sito

enter image description here

Anche se, https://github.com/my_username/my_repo.git ha anche in lettura e scrittura, ma non funzionava nel tuo caso, perché si cerca di creare un nuovo telecomando con lo stesso nome, invece di resettarlo. La sintassi corretta come detto era

git remote set-url origin [email protected]:my_username/my_repo.git

E

git remote set-url origin https://github.com/my_username/my_repo.git 

sarebbe anche lavorare.

+2

ok. grazie, bella spiegazione – pahnin

4

git remote set-url origin [email protected]:my_username/my_repo.git

+0

che ha funzionato e accetterò questa risposta dopo il limite di tempo, bt puoi dirmi quale è stato il problema? e molti thnks – pahnin

+0

Penso che https url sia solo per il recupero del repository di sola lettura. Ma git @ github offre anche accesso in scrittura e lettura. –

+0

grazie per le informazioni :) – pahnin

0

Il motivo per cui questo non funziona è che il git: // protocollo, che si è scelto per la clonazione, è configurato solo per accesso in lettura su Github (poiché supporta solo l'accesso anonimo in scrittura senza restrizioni di accesso).
Github supporta sia ssh ([email protected] ...) che https per l'accesso in scrittura ai repository.

Il tuo secondo comando non riesce, perché quando cloni, git crea già un'origine con nome remoto. Quindi se vuoi aggiungere un altro repository remoto, devi dare un altro nome.

+0

thnks per la spiegazione :) – pahnin