Приведенный ниже рабочий процесс добавляет репозиторий github в качестве нового удаленного вызываемого syncи битбакетного удаленного как origin. Он также добавляет ветку, githubкоторая masterвызывается для отслеживания хранилища GitHub, и ветку, которая вызывается для отслеживания хранилища Bitbucket. Предполагается, что у вас есть хранилище bitbucket под названием «myrepository», которое пусто.
Настройка пультов
# 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
Настройка веток
# 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
Теперь у вас должна быть локальная githubветка, отслеживающая ветку репозитория github master. И у вас должна быть локальная masterветка, отслеживающая репозиторий bitbucket ( masterветка по умолчанию).
Это позволяет легко выполнить githubветвление, затем объединить эти изменения с masterветкой (хотя перебазировать предпочтительнее слияния), а затем вы можете masterперенести ветку (переместит ее в bitbucket).