早上好!
我希望你们所有人都有一定的经验,可以指导我正确的方向。抱歉,如果我在解释这件事时做得不好。
我有一个Git存储库,用作我创建的仪表板的外壳(将其称为ShellRepo)。我一直在做的事情是克隆此仓库(将其称为DashboardRepo),然后在每次有新项目时都构建一个仪表板。问题是,如果我发现要对ShellRepo进行更改,则不确定如何更新DashboardRepo以接受新更改,同时还保留我为DashboardRepo项目添加的新文件和自定义项。
我研究了子模块,但是我不确定这是否行得通(或者我可能误解了它们),因为我所做的更改在ShellRepo提供的目录中。我想将文件添加到DashboardRepo中以进行特定的自定义,但是如果我发现并实施了更一般的更改,则允许从ShellRepo更新核心文件。
是否有解决此问题的建议方法?谢谢大家的时间!
答案 0 :(得分:1)
您可以保留两个不同的远程URL,一个用于ShellRepo,另一个用于DashboardRepo,并将更改从DashboardRepo移到ShellRepo。
例如,假设:
master
分支的DashboardRepo中。a1b2c3
的提交,其中包含一些常规更改,您希望将这些更改专门应用于ShellRepo的master
分支上。我将按照以下步骤操作:
git remote add shell
<your remote url>
git checkout remotes/shell/master
。git checkout -b shell-master
创建本地分支。git cherry-pick a1b2c3
git push -u shell master
将此更改推送到ShellRepo。然后,只要您想移动更改,就可以切换到shell-master
并挑选包含这些更改的提交。