GitHub から Bitbucket へ Private リポジトリとして fork しつつ開発する方法

Pocket

GitHub のリポジトリを Bitbucket のプライベートリポジトリへ fork みたいな管理をしつつ、開発する方法をご紹介します。

GitHub Bitbucket

前提

GitHub に Public リポジトリとして公開されている mastodon を Bitbucket の Private リポジトリとして扱いたくなりました。

理由としては、Bitbucket は Private リポジトリが無料 で使えるためです。

GitHub でそのまま fork してしまった方が楽なのですが、GitHub で Private リポジトリを使う場合、毎月 $7 かかるので使ってません。

本記事は、私のように無料で使える Bitbucket で Private リポジトリを運用したい開発者向けの内容です。

GitHub から Bitbucket へ fork する手順

GitHub にあるリポジトリを Bitbucket へ fork して開発する方法を順番に説明していきます。

Bitbucket に Private リポジトリ作成

まず Bitbucket に Private repository を作成します。リポジトリ名は GitHub 側と同じ mastodon にしました。

Create a new repository - bitbucket

GitHub からリポジトリを git clone

GitHub にあるリポジトリを git clone でローカル環境にもってきます。

git clone git@github.com:tootsuite/mastodon.git mastodon

Bitbucket へ git push

ローカル環境のリポジトリを Bitbucket に作った Private リポジトリへ git push すれば fork っぽいフローの完成です。

cd mastodon
git push git@bitbucket.org:bakorer/mastodon.git master

今後は git pull と git push git@bitbucket.org:bakorer/mastodon.git master で GitHub と Bitbucket 間のリポジトリを同期しましょう。

リモートリポジトリに Bitbucket を追加

毎回 git push git@bitbucket.org:bakorer/mastodon.git master するのは面倒なので git のリモートリポジトリに Bitbucket を追加しておきましょう。

まず、origin が GitHub の mastodon リポジトリ本家だけであることを確認します。

$ git remote -v
origin	git@github.com:tootsuite/mastodon.git (fetch)
origin	git@github.com:tootsuite/mastodon.git (push)

git remote add [shortname] [url] で新しいリモート Git リポジトリを追加します。

$ git remote add bitbucket git@bitbucket.org:bakorer/mastodon.git

再び git remote -v すると bitbucket というショートネームでリモートリポジトリが追加されていることが確認できました。

$ git remote -v
bitbucket	git@bitbucket.org:bakorer/mastodon.git (fetch)
bitbucket	git@bitbucket.org:bakorer/mastodon.git (push)
origin	git@github.com:tootsuite/mastodon.git (fetch)
origin	git@github.com:tootsuite/mastodon.git (push)

まとめ

GitHub のリポジトリを Bitbucket へプライベートリポジトリへ fork っぽく運用するためのセットアップ手順、いかがでしたでしょうか?

現在、私は GitHub を Bitbucket へ fork しつつ開発していますが、最初のセットアップ以外は特に手間と感じる部分はありません。

無料で Private リポジトリを運用したい方はぜひ参考にしてみてください。

参考情報

  1. コメントはまだありません。

  1. トラックバックはまだありません。