Dla każdego skryptu, który sugeruję, abyś uruchomił, dobrze byłoby ukryć lub zatwierdzić wszystkie zmiany.
Musiałem przesunąć kilka gałęzi z jednego pilota do drugiego. Te odpowiedzi wymagały wcześniejszego istnienia lokalnych oddziałów
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
Po prostu zmień origin1 na pilota źródłowego, a origin2 na pilota docelowego. Skopiuj to do „remoteBranchCloner.sh” i wywołaj za pomocą „sh callBranchCloner.sh”.
Może być lepszy sposób, ale to nie wystarczy powoduje kilku pchnięć.
Jeśli używasz mojego kodu, prawdopodobnie chcesz użyć buforowania poświadczeń, przeciwnym razie będziesz musiał wpisywać swoje poświadczenia kilka razy.
Dla Windowsa :
Uwaga: ten skrypt jest przeznaczony dla systemu Linux . Jeśli uruchomisz go w "git bash", skrypt zadziała, ale nie możesz go uruchomić z natywnej konsoli bez zainstalowania czegoś specjalnego.
git config [--global] credential.helper wincred
W przypadku systemu Linux
git config [--global] credential.helper cache
Gdzie [--global] oznacza opcjonalne dodanie --global
Jeśli chcesz ustawić zdalne śledzenie dla wszystkich oddziałów na nowego pilota:
DEST_R=remotename
for cbranch in `git branch`
do
git checkout $cbranch
git branch -u guru/$cbranch
done
Przechowywany jako plik .sh i uruchamiany z „sh nazwa_pliku.sh” ustawia wszystkie nadrzędne strumienie na śledzenie zdalnego „nazwy zdalnego”