2017-06-01 13 views
-1

私は後で特別なモジュールを格納するためにフォークされたbitbucket上のアプリケーションに取り組んでいます。この新しいフォークは、プレミアム機能を含んでいました。今、このフォークは、ある国のために再びフォークされました。ここに私の図があります。ここでフォークのフォークに変更を同期する

-- Core Application 
    -- Premium Features 
     -- Premium Features for a certain country 

私が欲しいものです:は、私は、「プレミアム機能」に取り組んでいますと言うことができます。コミットした後、私は "コアアプリケーション"に新しい変更を加える。この新しい変更を「特定の国のプレミアム機能」に一貫して反映させたいと思います。新しい変更は、「プレミアム機能」に行われた場合

は、同様に、それが唯一の「プレミアムは、特定の国のために機能」を追加する必要がありますし、「コアアプリケーション」にここ

は、私が試したものですありません:プレミアム機能の内部ときは

git remote add upstream https://github.com/user/core-application.git 
git fetch upstream 
git checkout master 
git rebase upstream/master 

私の理解では、これは新しい変化への「プレミアム機能」をやり直しますリベースその後、プレミアム機能にコアアプリケーションからすべてのコードを引っ張ると、というものでした。

+2

他の人が "Premium Features"リポジトリを使用している場合は、すべて上流リベースからリカバリする必要があるか、リベースの代わりにマージを使用する必要があります)。しかし実際には、あなたは質問や問題を述べなかったし、予想された行動と実際の行動がどう違うか教えてくれた。 – Vampire

+0

感謝の吸血鬼、私はちょうどmergeとrebaseを置き換えるのに疲れて、私は今それをハングアップし始めていると思う。 –

答えて

0

おかげで、私はついにそれを考え出しました。これは私の新しいワークフローです。

コアが変更された場合は、変更内容をフェッチして「特定の国のプレミアム機能」までマージします。そして、もし私が "プレミアムフィーチャー"をフォークに変更したら、それを取り出して "特定の国のプレミアム機能"にマージします。

コア変更をすぐにマージして「プレミアム変更」をコミットしないとどうなるのか分かりませんが、ファイルに競合がないと理論的にはコミット後も正常にマージする必要があります。

1

あなたの「プレミアムが特定の国のために機能」レポ内に複数のリモコンを持っており、他のリモコンから引くことができます。@vampireする

git remote add core-upstream https://github.com/user/core-application.git 
git remote add premium-features-upstream https://github.com/user/core-application.git 

git pull core-upstream master 
git pull premium-features-upstream master 
関連する問題