3

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

然后是 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 的命令中找到任何维护骨架的方法。因此,我手动将项目与骨架进行比较(尽管使用了很棒的工具)并应用了适用于骨架的更改,然后我将致力于骨架。

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

4

1 回答 1

1

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

git merge skeleton-improvements

当您想要更新骨架存储库时,将您的项目添加为远程,获取,然后合并skeleton-improvements分支。

于 2011-02-11T09:35:12.137 回答