Как сделать git fork из github в bitbucket

Довольно частая задача — сделать форк какой-либо библиотеки с 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 в свой реопзиторий