Довольно частая задача — сделать форк какой-либо библиотеки с github и разместить её в приватном репозитории в bitbucket, gitlab или ещё где. Чаще всего это нужно в тех ситуациях, когда нужно самостоятельно внести правки в исходную библиотеку, но по каким-то причинам в основной публичный репозиторий это попасть не должно. Собственно, сперва нужно создать новый пустой реопзиторий, затем склонировать его себе:
git clone [email protected]:my/forked-repo.git
Либо другим удобным способом. Затем перейти в директорию:
cd forked-repo
Now add Github repo as a new remote in Bitbucket called «sync»
И добавить удалённый репозиторий с оригинальной библиотекой:
git remote add sync [email protected]:owner/origin-repo.git
Теперь нужно стянуть мастер-ветку из оригинального реопзитория:
git pull sync master
Теперь можно отправить ветку master в новый приватный репозиторий.
git push -u origin master
По желанию, настройте локальную ветку, например, с названием github, для отслеживания master ветки репозитория sync
git branch --set-upstream github sync/master
Выкачать все изменения из удалённого репозитория:
git fetch sync
Альтернативный способ
Можно поступить и наоборот:
- склонировать оригинальный репозиторий
- добавить свой удалённый приватный репозиторий
- сделать push в свой реопзиторий