2010-09-24 24 views
17

Ho creato un repository git e l'ho aggiornato con alcune cose. Più tardi ho creato una nuova directory per questo progetto e ho inizializzato il nuovo git per questo progetto. Ora voglio spingere i cambiamenti e sostituire quelli vecchi in repo. Quando faccio git push origin master ottengoCome sostituire git repo?

! [rejected]  master -> master (non-fast-forward) 
error: failed to push some refs to '[email protected]:Username/repo2.git' 
To prevent you from losing history, non-fast-forward updates were rejected 
Merge the remote changes before pushing again. See the 'Note about 
fast-forwards' section of 'git push --help' for details. 

Cosa posso fare?

+0

correlati: http://stackoverflow.com/questions/8461528/replace-github-repo-while-preserving-issues-wiki-etc –

risposta

25

Hai solo bisogno di usare un po 'di forza:

git push --force origin master

--force può anche essere abbreviato in -f.

+2

Cosa succede se si desidera mantenere i commit precedenti e aggiungere nuove cose dal nuovo repository come un altro impegno? – Defozo

+0

@Defozo, vedere [questa risposta] (http://stackoverflow.com/a/41276328/3681880). – Suragch