🗿

GitLabからGitHubへミラーリングする

2021/12/17に公開

はじめに

普段Gitのホスティング先としてGitLabをメインに使っていますが、このご時世GitHubを使っていないといろいろなところからやんや言われるので、GitLabへpushすると自動的にGitHubにも反映されるようにミラーリングの設定をします。
公式ドキュメントに沿って解説します。

リポジトリを作成する

GitLabとGitHubにリポジトリを作成します。
リポジトリの名前を一致させる必要はありません。

GitHubでPersonal access tokenを作成する

  1. 右上の自身のアバターをクリックしてSettingsを選びます。
  2. Developer settingsをクリックします。
  3. Personal access tokensをクリックします。
  4. Generate new tokenをクリックします。
  5. Noteは適宜用途に合わせた内容を、Expirationはトークンが失効するまでの期間、Select scopesはパブリックなリポジトリであればpublic_repo、プライベートなリポジトリであればその上位にあるrepoにチェックを入れます。参考画像の例ではNoteMirroring from GitLab to GitHubExpirationは無期限に設定しました。01
  6. Generate tokenをクリックしてトークンを生成します。ここで生成されたトークンはこの後GitLab側に貼り付けることになるのでコピーしておきます。

GitLab側の設定

  1. GitLab側の対象プロジェクトにてSettings>Repositoryと進みます。
  2. Mirroring repositoriesExpandをクリックします。
  3. Git repository URLにGitHub側のリポジトリのURLを入力します。公式ドキュメントにURLのフォーマットが記載されています。例えば、GitHubのユーザー名がtaroyamada、リポジトリ名がtarosrepoだった場合、https://taroyamada@github.com/taroyamada/tarosrepo.gitとなります。Mirror directionPushに、Passwordには先ほど作成したPersonal access tokenを貼り付けます。02
  4. Mirror repositoryをクリックして設定完了です。GitLabへpushすると自動でGitHubにも反映されます。

Discussion