El siguiente flujo de trabajo agrega el repositorio de github como un nuevo control remoto llamado sync
y el control remoto bitbucket como origin
. También agrega una rama llamada github
para rastrear el repositorio de github y una rama llamada master
para rastrear el repositorio de bitbucket. Se supone que tiene un repositorio de bitbucket llamado "myrepository" que está vacío.
Configurar controles remotos
# setup local repo
mkdir myrepository
cd myrepository
git init
# add bitbucket remote as "origin"
git remote add origin ssh://git@bitbucket.org/aleemb/myrepository.git
# add github remote as "sync"
git remote add sync https://github.com/aleemb/laravel.git
# verify remotes
git remote -v
# should show fetch/push for "origin" and "sync" remotes
Configurar ramas
# first pull from github using the "sync" remote
git pull sync
# setup local "github" branch to track "sync" remote's "master" branch
git branch --track github sync/master
# switch to the new branch
git checkout github
# create new master branched out of github branch
git checkout -b master
# push local "master" branch to "origin" remote (bitbucket)
git push -u origin master
Ahora debe hacer que la github
sucursal local rastree la master
sucursal del repositorio de github . Y debe hacer que la master
sucursal local rastree el repositorio de bitbucket ( master
sucursal por defecto).
Esto hace que sea más fácil tirar de la github
rama, luego fusionar esos cambios en la master
rama (sin embargo, se prefiere rebase sobre la combinación) y luego puede empujar la master
rama (la empujará a bitbucket).