2013-08-20 17 views
95

Ho creato un nuovo repository, clonato, aggiunto i file alla directory, li ho aggiunti con add -A, le modifiche apportate e quando provo a utilizzare git push <repo name> master Ottengo "Gli aggiornamenti sono stati rifiutati perché il telecomando contiene lavori che non si hanno".Github "Gli aggiornamenti sono stati rifiutati perché il telecomando contiene lavoro che non si dispone"

Questo non sembra avere senso poiché è un nuovo repository e contiene solo un file Leggimi.

risposta

171

Questo accade se si inizializza un nuovo repo github con README e/o file di LICENSE

git remote add origin [//your github url] 

//pull those changes 

git pull origin master 

//now, push your work to your new repo 

git push origin master 

Ora si sarà in grado di spingere il vostro repository github. Fondamentalmente, devi unire i nuovi file inizializzati con il tuo lavoro. git pull recupera e si fonde per te. Puoi anche recuperare e unire se ti va bene.

+5

Ho creato un [video di YouTube] (https://www.youtube.com/watch?v=h1e8oC7g0Ps&list=PL5-da3qGB5IBLMp7LtN8Nc3Efd4hJq0kD) con una spiegazione più dettagliata e due modi suggeriti per evitare questo problema in primo luogo. –

+2

Per il comando merge ho bisogno di usare 'git pull origin master --allow-non -related-histories' –

43

L'errore potrebbe derivare dalla diversa struttura del codice che stai comunicando e presente su GitHub. Si crea conflitti che possono essere risolti con

git pull 

conflitti di unione risolvere:

git push 

Se si conferma che il nuovo codice è tutto bene si può usare:

git push -f origin master. 

Dove -f stand per "force commit".

+4

'git push -f origine master' sta funzionando per me.Grazie. –

+1

'git push -f origine master' -questo aiuta – Saurabh

+0

git push -f sovrascrive la cronologia remota con la cronologia locale, fai attenzione quando lo usi. Soprattutto su repository pubblici. – Andre

Problemi correlati