🕌
GitHub のリポジトリを GitLab に複製してカスタマイズ・運用する方法
この記事では、GitHub のリポジトリを GitLab に fork (= 複製) して、カスタマイズや CI/CD 機能を活用する方法を説明します。
モチベーション
- GitHub のオープンソースプロジェクトを参照しつつ、自社用にカスタマイズしたい。
- GitHub プロジェクトを基にしながら、GitLab の強力な CI/CD 機能を活用したい。
リモートリポジトリの役割
GitHub リポジトリ
- 役割: オープンソースプロジェクトの情報源として利用し、変更を取り込むための参照用リポジトリ
-
リモート名:
upstream
GitLab リポジトリ
- 役割: カスタマイズや CI/CD パイプラインの管理を行う作業用リポジトリ
-
リモート名:
origin
手順
1. GitHub リポジトリをクローンする
まず、GitHub リポジトリをローカルにクローンしてください。
git clone https://github.com/username/repository.git
cd repository
upstream
として設定する
2. GitHub リポジトリを 既存のリモートリポジトリを確認してください。
git remote -v
出力例:
origin https://github.com/username/repository.git (fetch)
origin https://github.com/username/repository.git (push)
既存の origin
を削除し、新しいリモート名 upstream
を追加してください。
git remote remove origin
git remote add upstream https://github.com/username/repository.git
設定を再確認してください。
git remote -v
出力例:
upstream https://github.com/username/repository.git (fetch)
upstream https://github.com/username/repository.git (push)
3. GitLab に新しいリポジトリを作成する
- GitLab にログインします。
- [New Project] をクリック。
- [Create a blank project] を選択。
- リポジトリに名前を付けます (GitHub リポジトリ名と同じにすると分かりやすい)。
- プロジェクトを作成します。
origin
として追加する
4. GitLab リポジトリを 作成した GitLab リポジトリをリモートリポジトリとして設定してください。
git remote add origin https://gitlab.com/your-username/your-gitlab-repository.git
設定を確認してください。
git remote -v
出力例:
upstream https://github.com/username/repository.git (fetch)
upstream https://github.com/username/repository.git (push)
origin https://gitlab.com/your-username/your-gitlab-repository.git (fetch)
origin https://gitlab.com/your-username/your-gitlab-repository.git (push)
運用方法
1. ローカルで変更したら GitLab にプッシュする
ローカルで変更を加えたら、以下のコマンドで GitLab にプッシュしてください。
git push origin <branch-name>
2. GitHub に変更があったら GitLab に反映する
GitHub のリポジトリに変更があった場合、それを手動で GitLab に同期してください。
# GitHub から最新の変更を取得
git fetch upstream
git merge upstream/<branch-name>
# GitLab に変更をプッシュ
git push origin <branch-name>
Discussion