如何在基于种子项目构建时组织Git仓库

5
我正在基于一个种子项目(MEAN.io)构建一个网站,这个项目是我从GitHub上克隆下来的。如何将这些文件与我的文件分开?因为这个种子项目提供了一大堆文件,我的自己的文件则分布在整个项目中。我希望能够从种子项目中拉取更新,但不要将它与我添加的文件混合在一起。
我知道我可以将种子项目作为git子模块添加,但我该如何让我添加的文件远离种子代码库?
谢谢。

它们必须在同一个目录下吗?我建议将种子存储库作为子目录作为子模块,并根据需要覆盖方法以保持代码库的模块化。 - kelorek
是的,我想要将文件添加到种子目录结构中。种子基本上提供了一些实现的框架。 - Mike
合并从种子的更改会有什么问题吗?我可能误解了这个问题。 - Linell
2个回答

2
提交你的文件到一个分支中。
$ git clone https://github.com/linnovate/mean.git myproject
$ cd myproject
$ git branch myproject   # create myproject branch
$ git checkout myproject # switch to that branch
$ echo "A File for just my project" > myfile
$ git commit myfile -m "Adding a file just for my project"

您做的所有更改都将与种子项目无关。如果您想保持最新并了解种子项目的情况,您只需要按照以下步骤进行:

$ git checkout master
$ git pull

现在,您的所有文件都将被删除,并且您将看到MEAN中最新的东西。如果您希望项目获得更改,则应执行以下操作:
$ git checkout myproject
$ git merge master

当然,有很多方法可以实现这个目标(搜索跟踪分支)。

如果您打算将MEAN.io用作项目中的子目录,则所有内容仍然适用(只需在子模块中进行)。


0

如果你想在其他 Git 仓库的代码中构建自己的代码,唯一的方法是每次将其他 Git 仓库合并到你的仓库中。

为了轻松实现这一点,你可以在单独的分支(甚至是 Git 子模块)中检出其他 Git 仓库,并将该分支(或子模块)合并回你的代码所在的主分支。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接