マスター ブランチとして、Githubリポジトリにコード化したフレームワークがあります。そのブランチには、フレームワークのコア ファイルのみが含まれているため、コア ブランチと名付けました。次に、他のブランチに、上記のコア フレームワークを使用するプロジェクトをリストします。これを行ったのは、ブランチで作業する方が簡単だと思っていたからですが、今発見したように、そうではありません。真剣に。
要約すると、コアブランチと、そのコアを使用するプロジェクトブランチがあります。現在、プロジェクト ブランチでは、主にプロジェクトに関連するコミット (画像 X の追加、スタイルシート Y の変更) を行っていますが、コアを変更してより良くすることもあります。
ここで私がやりたいことは、これも簡単だと思いましたが、プロジェクトよりもコアに取り組み始めたときに、コアへの変更をコア ブランチにマージすることです。いくつかの解決策があり、すべてが混乱し始めています。コアブランチを台無しにしたくないので、どうすればよいですか?
コミットをチェリーピックしてプッシュできることはわかっていますが、コアファイルへの変更履歴を保持したいので、リベースするように指示されました。問題は、コア ブランチをプロジェクト ブランチの特定のコミットにリベースすると、コアとは関係のないすべてのファイルと内容がプッシュされることです。では、特定のコミットからリベースするにはどうすればよいですか(そして、デフォルトのように思われる にではありませんか?) 。
プロジェクトブランチでのコミットがどのように見えるかについてのアイデアを次に示します。
プロジェクトブランチ
00:12 - Added image X
00:14 - Modified stylesheet Y to have a pink background (pink is pretty)
00:16 - Modified class core.background to handle pink background
00:18 - Modified class core.string to always capitalize Pink (because it's so pretty)
プロジェクト関連の最初の 2 つのコミットをマージせずに、最後の 2 つのコミットをコア ブランチにマージするにはどうすればよいですか?つまり、履歴を保持します。これらの 2 つの変更を 1 つではなく 2 つのコミットとしてコアに保持しますか?
編集:より多くの精度。私のコア フレームワークは、プロジェクトのフォルダー構成を定義するため、プロジェクト フォルダーのルートにある必要があります。夢だったサブモジュールではないのはそのためです。また、コアのフォークも試してみましたが、どうやら自分のプロジェクトをフォークできないようです。
ブランチ以外にやりたいことをやる方法があるなら、私はすべて耳を傾けます。