Per ogni script che ti suggerisco di eseguire, sarebbe saggio archiviare o eseguire il commit di tutte le modifiche.
Avevo bisogno di spingere diversi rami da un telecomando all'altro. Queste risposte richiedevano l'esistenza in precedenza delle filiali locali
SRC_R=origin1
DEST_R=origin2
for cbranch in $(git branch -r | grep $SRC_R | cut -d '/' -f2,3,4,5 | cut -d ' ' -f1)
do
git checkout $cbranch
git push $DEST_R $cbranch
done
Basta cambiare origin1 nel telecomando di origine e origin2 nel telecomando di destinazione. Copia questo in "remoteBranchCloner.sh" e chiamalo usando "sh callBranchCloner.sh".
Potrebbe esserci un modo migliore , che non fa diverse spinte.
Se si utilizza il mio codice, probabilmente si desidera utilizzare la memorizzazione nella cache delle credenziali, altrimenti è necessario digitare i tempi serverali delle credenziali.
Per windows :
Nota: questo script è per Linux . Se lo esegui in "git bash" lo script funzionerà, ma non puoi eseguirlo dalla console nativa senza aver installato qualcosa di speciale.
git config [--global] credential.helper wincred
Per linux
git config [--global] credential.helper cache
Dove [--global] significa facoltativamente aggiungere --global
Se desideri impostare il monitoraggio remoto per tutti i rami su un nuovo telecomando:
DEST_R=remotename
for cbranch in `git branch`
do
git checkout $cbranch
git branch -u guru/$cbranch
done
Memorizzato come file .sh ed eseguito con "sh nomefile.sh" imposterà tutti i flussi up per tenere traccia del 'remotename' remoto