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 sync
và 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ó github
chi nhánh địa phương theo dõi chi nhánh của github repo master
. Và bạn nên có master
chi nhánh địa phương theo dõi repo bitbucket ( master
chi 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 github
nhánh, sau đó hợp nhất các thay đổi đó lên master
nhánh (mặc dù rebase được ưu tiên hơn hợp nhất) và sau đó bạn có thể đẩy master
nhánh (sẽ đẩy nó lên bitbucket).