使用git为我的项目维护骨架的最佳方法

时间:2011-02-11 09:31:34

标签: git project-management git-merge application-lifecycle

几年来,我一直在寻找管理我正在开展的多个项目的方法。每一个都在某种程度上是不同的,但所有人的共同应用核心。当我在当前项目中实现一些新功能时,很难在以后的其他项目中使用它们。我不得不搜索许多项目以实际找到该功能。

然后是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,很棒的工具)并应用了骨架的变化,然后我承诺骨架。

我试图维护骨架以将项目添加为远程,获取项目然后合并到骨架,但这样项目的所有更改,仅用于项目,将返回到骨架,这是无效的。

1 个答案:

答案 0 :(得分:1)

一种方法可能是在项目中创建一个名为skeleton-improvements的新分支。当您在处理项目时对骨架进行改进时,请在改进分支上执行此操作。然后,将它合并到您的主人(或工作分支,无论如何):

git merge skeleton-improvements

如果要更新骨架仓库,请将项目添加为远程,获取,然后合并skeleton-improvements分支。