Untuk skrip apa pun yang saya jalankan, sebaiknya simpan atau lakukan semua perubahan Anda.
Saya perlu mendorong beberapa cabang dari satu remote ke yang lain. Jawaban ini mensyaratkan bahwa cabang lokal sebelumnya ada
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
Ubah saja origin1 ke sumber remote, dan origin2 ke tujuan remote. Salin ini ke "remoteBranchCloner.sh" dan menyebutnya dengan "sh callBranchCloner.sh".
Mungkin ada cara yang lebih baik , yang tidak melakukan beberapa dorongan.
Jika Anda menggunakan kode saya, Anda mungkin ingin menggunakan caching kredensial, jika tidak , Anda harus mengetikkan waktu kredensial serveral Anda.
Untuk windows :
Catatan: Skrip ini untuk linux . Jika Anda menjalankannya di "git bash" skrip akan berfungsi, tetapi Anda tidak dapat menjalankannya dari konsol asli tanpa menginstal sesuatu yang istimewa.
git config [--global] credential.helper wincred
Untuk linux
git config [--global] credential.helper cache
Di mana [--global] berarti secara opsional tambahkan --global
Jika Anda ingin mengatur pelacakan jarak jauh untuk semua cabang ke remote baru:
DEST_R=remotename
for cbranch in `git branch`
do
git checkout $cbranch
git branch -u guru/$cbranch
done
Disimpan sebagai file .sh dan dijalankan dengan "sh filename.sh" akan mengatur semua upstreams untuk melacak 'remotename' jarak jauh