2016-04-07 25 views
0

私はGitHubでホストされている複数のリポジトリに基づいたプロジェクト(phpBBフォーラム)を持っています。私はGitLabのように公開していない場所でこのコードをホストしたいと思っています。GitLabとGitHubの組み合わせrepos

だから私はこのような環境があります。

  • / < - (プライベート)私はphpBBに加えられた変更(ただし、彼らのリリースではなく、彼らの現在のコードを)。
  • /styles/mystyle < - 私はArtodia's Simplicity theme
  • /ext/vendor/extension <に行われた(プライベート)の修正 - いくつかの人々からいくつかの拡張機能、独自のGitHubのレポ上の各。私はそれらのいくつかを修正しました。私は個人的なコピーを保持したいものや、GitHubで共有したいものもありました。

現在、GitLabには1つの大きなリポジトリがあります。しかし、私はこれらのソフトウェアの原作者が作ったさらなるコミットを取り出すことはできません。

どのような設定を行う必要がありますか?私はサブモジュールについて何かを読んだのですが、これは私が従うべき道でしょうか?あなたは自分の著者が提供するものに比べて変更したいすべてのリポジトリは、次の手順を実行するために、すべての

まず:GitHubの上でフォークを行い、その後、私はこのような通常のレポ取引およびサブモジュールでそれを処理したい

答えて

0

そのフォークをGitLabでインポートします。

インポート後、元の著者のGitHubリポジトリにアップストリームを設定します(たとえば、phpBBの場合はgit remote add upstream https://github.com/phpbb/phpbbとなります)。これによりGitLabで個人的にホストしているにもかかわらず、元のリポジトリからの変更を取り込めるようになります(Keep your fork synced参照)。唯一の注意点は、すべての変更をリリースから別のブランチに保存することです。

これで、GitLabにはカスタム変更を加えるリポジトリ(phpBB、テーマと共有したくない拡張機能)が必要です。

ステップ2は、その後、あなたのマシンGitLabからphpBBの1(/)にクローン(どのように特定のパスにサブモジュールを追加する方法をherehereを参照してくださいモジュールとして、あなたが望むテーマと各拡張機能を追加することですどのコミットを指すべきかを設定します)。

これでプライベートGitLabリポジトリにホストされているコードで完全な構造にする必要があります。だからテーマを更新したいときは、GitLabのテーマリポジトリを更新してカスタムブランチにプッシュします。たとえば、テーマが著者によって更新された後、マスターブランチに切り替え、アップストリームから変更を取り出し、マスターのカスタムブランチをリベースし、最後にメインリポジトリのサブモジュール(phpBB 1)を更新します。

+0

ありがとうございました!私はそれを試してみます! :) – nerestaren

関連する問題