几年来,我一直在寻找管理我正在从事的多个项目的方法。每一个都在某种程度上是不同的,但应用程序的核心对所有人来说都是共同的。当我在当前项目中实现一些新功能时,很难在以后的其他项目中使用它们。我必须搜索许多项目才能真正找到该功能。
然后是 git,它对改善我的项目管理有很大帮助。我创建了一个框架项目,其中实现了整个应用程序结构和核心库、工具和模块。这是我开始的每个新项目的基础。它看起来像这样:
mkdir new_project
cd new_project
git init
骨架合并时间:
git remote add skeleton git@domain:skeleton.git
git fetch skeleton
git merge skeleton/master
现在来了项目调整、更改 ini 文件、添加自定义模板、模块、演示者等。现在项目过着它自己的生活。一段时间后与更新的骨架合并:
git fetch skeleton
git merge skeleton/master --no-commit
我喜欢查看从骨架到项目的所有更改,因此 --no-commit 选项。
现在我的问题来了。保养骨骼的最佳方法是什么?当向每个以骨架为基础的项目添加新功能时,会有一些仅与当前项目相关的功能。但是应用程序的核心有一些特性,我在下一个项目中也需要它们,因此我需要将它们合并到骨架中。
我没有在 git/merge 或任何其他 git 的命令中找到任何维护骨架的方法。因此,我手动将项目与骨架进行比较(尽管使用了很棒的工具)并应用了适用于骨架的更改,然后我将致力于骨架。
我试图维护骨架以将项目添加为远程,获取项目然后合并到骨架,但是这样对项目的所有更改(仅用于项目)都将返回到骨架,这是无效的。