Quindi, ciò che nessuna di queste altre risposte spiega troppo bene è che se si desidera spostare tutti i file del repository remoto si arresta su un nuovo telecomando utilizzando il meccanismo push
di Git , , quindi sono necessarie le versioni locali delle filiali di ciascuno dei rami del proprio telecomando .
È possibile utilizzare git branch
per creare filiali locali. Verrà creato un riferimento nella directory .git/refs/heads/
, in cui sono memorizzati tutti i riferimenti di diramazione locali .
Quindi è possibile utilizzare git push
con le bandiere di opzione --all
e --tags
:
git push <new-remote> --all # Push all branches under .git/refs/heads
git push <new-remote> --tags # Push all tags under .git/refs/tags
noti che --all
e --tags
non possono essere utilizzati insieme, ecco perché si deve spinta due volte.
Documentazione
Ecco il relativo git push
documentation:
--all
Invece di nominare ogni ref a spingere, specifica che tutti gli arbitri sotto refs/heads/
essere spinto.
--tags
Tutti gli arbitri sotto refs/tags
sono spinti, oltre a refspecs esplicitamente elencati sulla riga di comando.
--mirror
Si noti inoltre che --mirror
può essere usata per spingere entrambi i riferimenti filiali e tag a una volta, ma il problema con questo flag è che spinge tutti i riferimenti in .git/refs/
, non solo .git/refs/heads
e .git/refs/tags
, che potrebbe non essere ciò che si desidera inviare al telecomando.
Per esempio, --mirror
può spingere i rami di monitoraggio a distanza dai vostri vecchi remoti (s) che sono sotto .git/refs/remotes/<remote>/
, così come altri referenze come .git/refs/original/
, che è un sottoprodotto della git filter-branch
.
fonte
2014-04-27 19:20:39
So che questa era una domanda di auto-risposta, ma la domanda in sé è ancora di qualità molto bassa. Forse prova ad aggiungere alcune delle idee che hai provato o la documentazione che hai guardato prima che ti venisse in mente [la tua risposta] (http://stackoverflow.com/a/14432237/456814). –
FYI, [la risposta di umläute] (http://stackoverflow.com/a/14435630/456814) non è del tutto corretta, vedere [il mio commento] (http://stackoverflow.com/questions/14432234/how-do- i-move-my-remote-git-repo-per-altro-remote-git-repo # comment35718703_14435630). –