我有一个我编写的框架,它作为主分支进入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)
如何在不合并与项目相关的两个第一个提交的情况下将最后两个提交合并到核心分支中,并保留历史记录 - 即。将这两个核心更改保持为两个提交而不是一个?
编辑:更精确。我的核心框架定义了项目的文件夹组织,因此需要位于项目文件夹的根目录。这就是为什么它不是一个子模块,这本来就是梦想。另外,我尝试了核心的分叉,但显然你不能分叉自己的项目。
如果除了分支之外还有其他方法可以做我想做的事,我会全神贯注。