几年来,我一直在寻找管理我正在开展的多个项目的方法。每一个都在某种程度上是不同的,但所有人的共同应用核心。当我在当前项目中实现一些新功能时,很难在以后的其他项目中使用它们。我不得不搜索许多项目以实际找到该功能。
然后是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的命令来维护骨架。所以我手动比较项目和骨架(虽然使用了meld,很棒的工具)并应用了骨架的变化,然后我承诺骨架。
我试图维护骨架以将项目添加为远程,获取项目然后合并到骨架,但这样项目的所有更改,仅用于项目,将返回到骨架,这是无效的。
答案 0 :(得分:1)
一种方法可能是在项目中创建一个名为skeleton-improvements
的新分支。当您在处理项目时对骨架进行改进时,请在改进分支上执行此操作。然后,将它合并到您的主人(或工作分支,无论如何):
git merge skeleton-improvements
如果要更新骨架仓库,请将项目添加为远程,获取,然后合并skeleton-improvements
分支。