Quy trình công việc dưới đây thêm kho lưu trữ github dưới dạng một điều khiển từ xa mới được gọi syncvà từ xa bitbucket là origin. Nó cũng thêm một nhánh được gọi githubđể theo dõi kho lưu trữ github và một nhánh được gọi masterđể theo dõi kho lưu trữ bitbucket. Nó giả định rằng bạn có một kho lưu trữ bitbucket được gọi là "myreposeective" trống.
Thiết lập điều khiển từ xa
# 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
Thiết lập chi nhánh
# 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
Bây giờ bạn nên có githubchi nhánh địa phương theo dõi chi nhánh của github repo master. Và bạn nên có masterchi nhánh địa phương theo dõi repo bitbucket ( masterchi nhánh theo mặc định).
Điều này giúp bạn dễ dàng thực hiện thao tác kéo lên githubnhánh, sau đó hợp nhất các thay đổi đó lên masternhánh (mặc dù rebase được ưu tiên hơn hợp nhất) và sau đó bạn có thể đẩy masternhánh (sẽ đẩy nó lên bitbucket).