GitLabからGitHubにミラーリングする
僕は普段Gitを使う場合、ホスティングサービスであるGitLabを利用しています。
最近は変わってきていますが、無料で複数人参加できるプライベートリポジトリを作れること、
gitlab-ciというCI/CDツールが無料で使えることが大きいです。
ただ、その人の技術力を表すのはGitHubなので、一部のリポジトリはGitHubに共有したいということがあります。
そういった場合に気軽に同期するための機能がGitLabには用意されていますので、使ってみようと思います。
https://gyazo.com/69c6ddcb764cb30c0e1783a057cd5ebe
参考
手順
やりたいことはGitLabへのpushをGitHubにも反映することです。
前提として、GitLabには同期したいリポジトリがあり、GitHubアカウントも持っているとします。
GitHubに同期先となるリポジトリを作ります
https://gyazo.com/4c21be530b098174d8a5601829e54219
GitHubで作成したリポジトリのURL(HTTPS)を取得します
https://gyazo.com/80b55ff24ca6f842dd05cb1cc0893ef4
GitLabで同期したいリポジトリのSettings > Repository > Mirroring repositoriesを開きます
https://gyazo.com/2e917a093f957bf26f073626b7169df7
Git reposytory URLに取得したGitHubリポジトリのURLを貼り付け、ホスト名の前にusername@をつけます
usernameはリポジトリにpushするユーザのusernameです
Mirror directionはPushにします
Authentication methodは任意ですが、今回はPasswordで進めます
Passwordの欄にusernameのユーザのパスワードを入力します
Only mirror protected branchesは任意です
チェックを入れておくと反映されるブランチが限定的になり早くなったりするようです
Mirror repositoryボタンを押して、追加されれば完了です
https://gyazo.com/bd3ea85b78d38f9c91abcbf618c76bca
試しに適当な変更をGitLab側に入れて、時間をおいてGitHub側に反映されていることを確認しましょう。
おわりに
GitHubはGitのデファクトスタンダードである以上に、ポートフォリオとしての役割が強いように感じます。
僕は普段はGolangを書くようにしているのですが、ライブラリ公開もGitHubにするのが当たり前になっています。
しかしGitは好きなものを使いたいので、GitLabのMirroringのような機能はとても助かります。
更新履歴